Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

16.12.2007, 20:20
|
|
Познающий
Регистрация: 22.08.2007
Сообщений: 40
Провел на форуме: 316647
Репутация:
20
|
|
Перекачка файлов ftp2ftp
поиск перерыл, нниче не нашел.
вобщем нужен скрипт для перекачки файлов с одного фтп на другой, т.е. не тратя своего трафа.
где то видел, но не помню названия... мож кто знает?
|
|
|

16.12.2007, 20:23
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
из шелла от рст возьми
|
|
|

16.12.2007, 20:24
|
|
Постоянный
Регистрация: 08.10.2006
Сообщений: 445
Провел на форуме: 1028732
Репутация:
80
|
|
Вот этот.
PHP код:
<?php
if(isset($HTTP_POST_VARS['in']))
{
$fn = $HTTP_POST_VARS['in'];
$handle = fopen ($fn, 'rb');
$contents = "";
if(!$handle)
echo 'Не могу открыть исходный файл';
else
{
while(!feof($handle))
{
$data = fread($handle, 8192);
$contents .= $data;
}
fclose ($handle);
// './download/' можно заменить, например, на $HTTP_GET_VARS['path']
$handle = fopen ('./download/' . basename($fn), 'wb');
if(!$handle)
echo 'Не могу создать записать файл';
else
{
fwrite($handle, $contents);
fclose($handle);
echo 'Передача завершена';
}
}
}
?>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post">
<INPUT TYPE="hidden" NAME="act" VALUE="send">
URL:<BR />
<INPUT TYPE="text" NAME="in" SIZE="64"><BR />
<INPUT TYPE="submit" VALUE=" Send ">
</FORM><BR />
</BODY></HTML>
|
|
|

16.12.2007, 22:41
|
|
Moderator - Level 7
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме: 2872049
Репутация:
705
|
|
вот если что подправь как нужно
PHP код:
<?php
echo '<html>
<table border="0" width="90%" align="center">
<form action="index.php" method="post">
<tr >
<td colspan="2" align="center" >
<b><font size="3">Скрипт для скачивания файла с одного сервера на другой<font></b>
</td>
</tr>
<tr>
<td colspan="2" align="center"><b><font color=red size=2>Основные настройки</font></b></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>Файл для скачивания</font><b></td>
<td><input type="text" name="file" class=ftpwork value="file.sql"></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>Путь до директории с файлом относительно сайта</font></b></td>
<td><input type="text" name="path" class=ftpwork value="/downloads"></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>Хост, с которого будем сливать файл</font></b></td>
<td><input type="text" name="host" class=ftpwork value="server.ru"></td>
</tr>
<tr>
<td colspan="2" align="center"><b><font color=#FF0000>Настройки FTP</font></b></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>FTP хост, на который будем заливать файл</font></b></td>
<td><input type="text" name="ftphost" class=ftpwork value="ftp.server.ru"></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>FTP логин<font></b></td>
<td><input type="login" name="login" class=ftpwork value="ftpuser"></td>
</tr>
<tr>
<td><b><font color=#C0C0C0>FTP пароль<font></b></td>
<td><input type="pass" name="pass" class=ftpwork value="ftppass"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Отправить" class="ok"></td>
</tr>
<tr>
<td colspan="2" align="center"><b>
<font color=#FFFFFF>Coded by </b><a href="http://p-range.info"><b>p-range</b></a></td>
</tr>
</form>
</table>';
if(isset($_POST['file']) && isset($_POST['path'])
&& isset($_POST['host']) && isset($_POST['ftphost'])
&& isset($_POST['login']) && isset($_POST['pass']))
{
$file = $_POST['file']; // файл для скачивания
$path = $_POST['path']; // путь до директории с файлом относительно сайта
$host = $_POST['host']; // Хост, с которого будем сливать файл
$ftphost = $_POST['ftphost']; // FTP хост, на который будем заливать файл
$login = $_POST['login']; // FTP логин
$pass = $_POST['pass']; // FTP пароль
// открыли соединение
$so = fsockopen($host, 80, &$errno, &$errstr, 30);
// послали GET форму (простой URL + указание вирт. хоста)
fputs($so,"GET $path/$file HTTP/1.0\nHOST: $host\n\n");
// читаем все, пока не наступит "конец заголовка" (т.е. начало документа)
// если наступит, то со след. байта начнется документ
while(fgets($so,2048)!="\r\n" && !feof($so));
unset($buf);
// читаем документ в переменную
while(!feof($so)) $buf.=fread($so,2048);
// Готово. В переменной $buf храниться скаченный документ (т.е. файл)
// Максимум можно читать порциями по 64K-1байт
// закрываем сокет
fclose($so);
echo "Download file, size ".strlen($buf)." bytes.<br>"; flush();
// используем скаченный файл (в переменной) по назначению...
$f=fopen($file,"wb+");
fwrite($f,$buf,strlen($buf));
fclose($f);
$ftp = ftp_connect($ftphost);
if($ftp)
{
@$res = ftp_login($ftp,$login,$pass);
if($res)
{
$fp = fopen($file, "r");
$fput = ftp_fput($ftp, $file, $fp, FTP_BINARY);
fclose($fp);
if(!$fput)
{
echo "<font color='#cc1233'>Error transfering</font>";
ftp_quit($ftp);
}
else
{
echo "<font color='#666666'>Success transfering <b>".$file."</b></font>";
}
}
else
{
echo "<font color='#cc1233'>Error login</font>";
ftp_quit($ftp);
}
}
}
?>
|
|
|

17.12.2007, 01:08
|
|
Познающий
Регистрация: 22.08.2007
Сообщений: 40
Провел на форуме: 316647
Репутация:
20
|
|
блин, выкидывает вот такую хрень:
Warning: fopen() [function.fopen]: failed to open stream: No route to host in *** on line 5
эт типа хостинг хреновый или подправить чего?
|
|
|

17.12.2007, 01:16
|
|
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме: 5571194
Репутация:
1934
|
|
Это или хостинг хреновый(на нем отключены сокеты), или не находится хост, к которому обращаешься.
|
|
|

17.12.2007, 01:23
|
|
Участник форума
Регистрация: 05.08.2007
Сообщений: 236
Провел на форуме: 4625160
Репутация:
457
|
|
Сообщение от fuckthesystem
блин, выкидывает вот такую хрень:
Warning: fopen() [function.fopen]: failed to open stream: No route to host in *** on line 5
эт типа хостинг хреновый или подправить чего?
проверь работоспособность конечного хоста
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|