Pobierz wiele obrazów ze zdalnego serwera za pomocą PHP (dużo zdjęć)
Próbuję pobrać wiele plików z zewnętrznego serwera (około 3700 obrazów). Te obrazy przechodzą od 30 KB do 200 KB każdy.
Kiedy używamcopy()
funkcja na 1 obrazie, działa. Gdy używam go w pętli, otrzymuję tylko obrazy 30B (puste pliki obrazów).
Próbowałem użyćcopy
, cURL
, wget
, ifile_get_contents
. Za każdym razem dostaję dużo pustych plików lub w ogóle nic.
Oto kody, które próbowałem:
wget:
exec('wget http://mediaserver.centris.ca/media.ashx?id=ADD4B9DD110633DDDB2C5A2D10&t=pi&f=I -O SIA/8605283.jpg');
Kopiuj:
if(copy($donnees['PhotoURL'], $filetocheck)) {
echo 'Photo '.$filetocheck.' updated<br/>';
}
kędzior:
$ch = curl_init();
$source = $data[PhotoURL];
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec ($ch);
curl_close ($ch);
$destination = $newfile;
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
Nic nie działa poprawnie. Niestety, nie mam wielkiego wyboru, aby pobrać wszystkie te pliki naraz i potrzebuję sposobu, aby to działało jak najszybciej.
Wielkie dzięki, Antoine