外部サーバーから大量のファイルをダウンロードしようとしています (約 3700 枚の画像)。これらのイメージは、それぞれ 30KB から 200KB になります。
copy()
1つの画像で関数を使用すると機能します。ループで使用すると、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);
何も正しく動作していないようです。残念ながら、これらすべてのファイルを一度にダウンロードする選択肢はあまりなく、できるだけ早く機能させる方法が必要です。
どうもありがとう、アントワーヌ