I need to have download over 100.000 pictures. The Pictures have : .png, .jpg, .jpeg, .gif format. I have the approval to use those pictures. they have provide me an XML file with all the url`s
The url have the structure
otherdomain/productimages/code/imagename.jpg/.png/.gif
I have all the codes in an php array called $codes[]
I have also the full path of the all images on an array $images[]
I need to have all those pictures downloaded and keep the same structure
mydomain/productimages/code/imagename.jpg/.png/.gif
What i have so far due my reasearch over internet is :
Looping over all the pages ( each hotel code )
$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);
}
Could you help me to get this working as the script doesnt work at all
Advertisement
Answer
I may suggest you the easier and faster approach to the task. Write a complete URLs to the list.txt execute wget -x -i list.txt command which will download all the images and put them in appropriate directories according to the site structure.