2015-03-09 2 views
1

Мне нужно загрузить более 100 000 изображений. Картинки имеют: .png, .jpg, .jpeg, .gif формат. У меня есть разрешение использовать эти фотографии. они предоставляют мне файл XML со всеми url`sЗагрузите изображения из html и сохраните структуру папок

URL, имеют структуру

otherdomain/productimages/код/​​imagename.jpg/.png/.gif

У меня есть все коды в массиве PHP называется $codes[] Я также полный путь к все изображениям на массиве $images[]

мне нужно, чтобы все эти фотографии, загруженные и сохранить ту же структуру

MYDOMAIN/productimages/код/​​imagename.jpg/.png/.gif

Что я до сих пор из-за моей Reasearch над интернетом является:

Looping по всем страницам (каждый код отеля)

$i = 1; 
    $r = 100000; 

while ($i < $r) { 
    $html = get_data('http://otherdomain.com/productimages/'.$codes[$i].'/'); 
    getImages($html); 
    $codes[$i++]; 
} 

    function getImages($html) { 
     $matches = array(); 
     $regex = '~http://otherdomain.com/productimages/(.*?)\.jpg~i'; 
     preg_match_all($regex, $html, $matches); 
     foreach ($matches[1] as $img) { 
      saveImg($img); 
     } 
    } 

    function saveImg($name) { 
     $url = 'http://otherdomain.com/productimages/'.$name.'.jpg'; 
     $data = get_data($url); 
     file_put_contents('photos/'.$name.'.jpg', $data); 
    } 

Не могли бы вы помочь мне получить эту работу как скрипт не работает на всех

+0

Попробуйте использовать file_get_contents вместо get_data –

+0

все еще не действует @ flyingeagle413 – CARASS

ответ

6

Я могу предложить вам простой и быстрый подход к задаче. Напишите полный URL-адрес в list.txt выполните команду wget -x -i list.txt, которая загрузит все изображения и поместит их в соответствующие каталоги в соответствии с структурой сайта.

+0

работает очень хорошо, разве можно узнать, могу ли я установить wget для загрузки всех файлов в определенное место, например, в корневую папку HTTP? – CARASS

Смежные вопросы