Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Импорт файлов между серверами по HTTP[!!!]


Автор: xfem 26.9.2006, 12:48
Решил значит скриптик написать, который потоково переливал бы файлы* с другого сервера ко мне.
* файлы вида - http://wap.sasisa.ru/files/video/XXX2/Svezhak/!NEW!_Student_Party_2/Narezki_po_1Mb/Russian_Home_Party_2_001.3gp , где 001 - номер до указанного, например - 083.

Пишу скрипт:

Код

<?php
if (isset($_POST['in']) && isset($_POST['num']) && isset($_POST['tipe'])) 

{
 
  $in = $_POST['in'];

  $num = $_POST['num'];
 
  $tipe = $_POST['tipe'];

$copy = "$in$num.$tipe";

    $handle = fopen ($copy, 'rb');
    if(!$handle) {
        echo 'Не могу открыть исходный файл!';
        die;
    }

    $handle_write = @fopen ('./'.basename($copy), 'wb'); 
    if(!$handle_write) {
        echo 'Не могу создать файл!';
        die;
    }


    while (!feof($handle)) {

        fwrite($handle_write, fread($handle, 8192));
    }

    fclose($handle_write);
    fclose ($handle);
    echo 'Передача завершена!';

}
?>


Код

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="act" value="send">
Откуда сливаем(ссылка в виде: <b>http://site.ru/files/xxx</b>): <br/>

<input type="text" name="in" value ="http://wap.sasisa.ru/files/video/XXX2/Svezhak/!NEW!_Student_Party_2/Narezki_po_1Mb/Russian_Home_Party_2_" SIZE="64"><br/><br/>

Файлы пронумерованы до(продолжение ссылки):<br/>

<input type="text" name="num" value ="001" SIZE="64"><br/>

<br/>тип: <br/><input type="text" name="tipe" value ="3gp" SIZE="64"><br/>


<input type="submit" value="угнать файлы!">

</form>


Но он скачивает только по одному файлу, а мне нужно, чтобы скачивал все т.е. до переданного в параметре $num.
Пытаюсь ф-ей for () , smile  но пока безуспешно - не скачивает файлы.. smile  Измените, пожалуйста, этот скрипт, чтобы все ок работало! smile  очень срочно! 
ps-код коряво написан - строго не судите smile php только учу

Автор: Garret 26.9.2006, 14:01
Почему циклом не работает? Что пишет?

Автор: xfem 26.9.2006, 14:40
Garret, да все работает... я не знаю что прописать в него =(( и прошу подсказать вот.. php только начал учить

Автор: Garret 26.9.2006, 14:58
Ну свой скрипт копирования файла помести в тело цикла и все.

Автор: xfem 26.9.2006, 15:16
ну поместил. smile а как из диапазона номеров в файлах каждый номер вычеслить 


Код

for ($i = 000; $i < 010; $i++) 


поставил ну и ничего не копирует точнее с левыми названиями пустые файлы создает например 

Russian_Home_Party_2_.3gp; Russian_Home_Party_2_0.3gp

Автор: Vaulter 26.9.2006, 22:34
xfem, 
Код
$i=sprintf('%03d',$i);

Автор: xfem 27.9.2006, 11:24
Vaulter, огромное спасибо!! сейчас тестировать буду.. 

Добавлено: smile 
Vaulter, блин че то не пашет. Напиши полностью весь код, чтобы работало.
Мне тут посоветовали

Код

$begin_num=intval($begin_num);
$end_num=intval($end_num);

for ($i=$begin_num;$i<=$end_num;$i++)


сейчас попытаюсь добавить это.. 

Автор: R.M. 27.9.2006, 23:17
xfem, ну так $i из for() и подставляй где надо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)