Помогите, пожалуйста, написать php скрипт для скачки и rename файла.

Тема в разделе "PHP", создана пользователем Koschey, 7 фев 2011.

Модераторы: latteo
  1. Koschey

    Koschey

    Регистр.:
    4 окт 2008
    Сообщения:
    271
    Симпатии:
    49
    Здравствуйте,
    есть .txt файл вида:
    Код:
    http://site.ru/bd9c9783.jpg 97023453.jpg
    http://site.ru/hxy73jg2.jpg 97453524.jpg
    http://site.ru/jksjdn81.jpg 97765456.jpg
    http://site.ru/84jsd734.jpg 97092347.jpg
    
    Требуется скачать файл и сохранить его с указанным именем.

    PS Скачать файлы могу и локально, тогда надо убдет только переименовать файлы из hxy73jg2.jpg в 97453524.jpg.

    Заранее спасибо.
     
  2. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    PHP:
    $d_list='base.txt'$dir='files/'$timeout=60;
    $skip_exits 1// 1/0 пропуск существующих

    foreach(file($d_list,2|4) as $str) { $dl=explode(' ',$str); $dl[1]=$dir.$dl[1];
    if(
    $skip_exits AND is_file($dl[1])) continue; f_download($dl[0],$dl[1]); }

    function 
    f_download($url,$f_name) { if($fp=fopen($f_name,"w")) { $ch=curl_init($url);
    curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 9.0)");
    curl_setopt($ch,CURLOPT_FILE$fp); curl_setopt($ch,CURLOPT_TIMEOUT,$GLOBALS['timeout']);
    $res=curl_exec($ch); curl_close($ch); fclose($fp); } return ($res 0); }
    загружает файлы любого размера без хранения в памяти
    возможен пропуск ранее загруженных
     
    latteo и Koschey нравится это.