我试图从外部服务器下载大量文件(大约3700张图像)。这些图像每个从30KB到200KB。使用PHP(很多图像)从远程服务器下载多个图像
当我在1张图片上使用copy()
函数时,它起作用。当我在一个循环中使用它时,我得到的只有30B图像(空图像文件)。
我试过使用copy
,cURL
,wget
和file_get_contents
。每次我都会得到很多空文件,或者根本没有。
这里是我试过的代码:
wget的:
exec('wget http://mediaserver.centris.ca/media.ashx?id=ADD4B9DD110633DDDB2C5A2D10&t=pi&f=I -O SIA/8605283.jpg');
副本:
if(copy($donnees['PhotoURL'], $filetocheck)) {
echo 'Photo '.$filetocheck.' updated<br/>';
}
卷曲:
$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);
一切似乎正常工作。不幸的是,我没有太多的选择一次下载所有这些文件,我需要一种方法使其尽快发挥作用。
非常感谢,安托万
他们可能会阻止像这样的大规模下载。尝试询问服务器/服务的管理员。 – Sammitch 2013-03-15 15:40:44
这可能是有道理的,但这台服务器是这样的大规模下载,这是一个系统,我已经去自己的图像,而不是他们通过FTP发送给我。 – 2013-03-15 20:23:06