file_get_contents()
遠い URL から画像を取得し、fwrite 関数を使用してローカル フォルダーに保存するために使用する wordpress プラグインを開発しました。画像ファイルはローカル フォルダーに保存されるため、後で参照できます。
これは 1 つの Web サーバー 1 で正常に動作します。しかし、別の新しい Web サーバー 2 で維持されている wordpress にプラグインをインストールすると、ローカル フォルダーにファイルが作成されますが、破損しているようです。ファイルは100kb未満の画像に対して適切に作成されると思いますが、以前のWebサーバー1で適切に作成されたより大きなファイルは、サーバー2で取得して作成すると破損します.
以下は、画像を取得してローカルフォルダーに保存するために使用するコードです。
//$imgurl = url of the image file and $upload_path
// is path where image will be stored
$file = file_get_contents($imgurl) or die('File too large or inacessible');
$myFile = $upload_path . "\internal\folder\structure\\" . $file_name;
$fh = fopen($myFile, 'w') or die("Error");
$fwrite = fwrite($fh, $file);
if($fwrite === false)
{
echo "error";
}
else
{
echo "file has been created ".$file_name;
}
fclose($fh);
サーバー 1 では問題なく動作しますが、サーバー 2 ではファイルが作成されますが、破損しているため開くことができません。これはおそらくサーバー 2 の php 構成に関係していると思いますが、よくわからないので、あなたの助けを楽しみにしています。