1

ある URL からサーバーに画像をダウンロードする必要があります。ただし、サーバーの構成により、次のようにすることができませんでした。

getimagesize( $file );

エラーが発生するためです。

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in somefile.php  on line 10

では、外部ライブラリを必要としない別の方法はありますか?

わかりました、OISのソリューションで解決しました:

$filename = '/tmp/'.md5($file);
$ch = curl_init($file);
$fp = fopen($filename, "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

$ext = getimagesize( $filename );
4

4 に答える 4

4

curlを試すことができます。

于 2010-04-08T23:30:55.497 に答える
0

サーバー構成を変更しない限り、それは不可能です。

于 2010-04-08T23:53:45.380 に答える
-1

サーバーで URL へのファイル アクセスが無効になっている場合、外部 URL からコンテンツを読み込むことはできません。それがその構成の目的です。

無効になっていないサーバーでは、file_get_contents($url) がほとんどのファイルを取得する最も簡単な方法です。

于 2010-04-08T23:31:07.290 に答える
-1

以下を使用して、ファイルを にダウンロードします$imgdata。その後、ファイルに保存して、その画像サイズを取得できます。おそらく、ファイル保存ステップを削除して、少し作業を高速化することができます。

$imgdata = get_file_contents($url);
file_put_contents($filename, $imgdata);
getimagesize( $filename );
于 2010-04-08T23:31:09.790 に答える