私はfolowing問題があります。私はサーバーからイメージをダウンロードするためにカールを使用します。画像の名前を自動的に生成してダウンロードしました。生成されたイメージ名の一部は返されません。 URLが画像を返すかどうかはどうすればわかりますか?URLが画像PHPを返すかどうかを知る方法は?
私の "壊れた"英語は申し訳ありません。
ありがとうございます!
私はfolowing問題があります。私はサーバーからイメージをダウンロードするためにカールを使用します。画像の名前を自動的に生成してダウンロードしました。生成されたイメージ名の一部は返されません。 URLが画像を返すかどうかはどうすればわかりますか?URLが画像PHPを返すかどうかを知る方法は?
私の "壊れた"英語は申し訳ありません。
ありがとうございます!
$content_type = curl_getinfo ($curl_obj, CURLINFO_CONTENT_TYPE);
私はあなたがすでにやるようにあなたがあなたのサーバーにデータをストリーミング保つことをお勧めしたいです。変換する前に確認するには、finfo-fileを使用します。
より複雑な方法は、例えば、Accept
ヘッダーを設定することができます。ヘッダーが一致した場合にのみ、cUrlを使用して応答を取得します。例:
curl_setopt($cURL,CURLOPT_HTTPHEADER,array (
"Accept: application/json"
));
またはCURLINFO_CONTENT_TYPE
を使用し、参照http://ch.php.net/manual/en/function.curl-setopt.php
'Accept 'を使うことは、リモートサーバとそれに対するアプリケーションの実装に大きく依存します。 – cmbuckley
hm、そうです。 – pduersteler
ヴィータウタス答えは正しいが、不完全です。その後
$url = 'http://test.com/test/test/something';
$c = curl_init($url);
// Here you would want to set more curl settings, such as
// enabling redirection and setting a valid user agent.
curl_exec($c);
$t = curl_getinfo($c, CURLINFO_CONTENT_TYPE);
、$t
は、あなたがNULLを取得し、その時点で、エラーが発生した場合を除き、(一緒にいくつかの他のものとの)MIMEタイプを含める必要があります。
:あなたは、返されるデータが特定の型であることを確認するためにチェックすべき3ポイントがある、と述べた
だからあなたは、ランダムなファイル名を生成し、そのファイル名への要求を発行することによって、サーバーから画像を要求していますか?画像が見つからない場合は404を返しませんか?ちょっとしたコードでは多くのことが明らかになります。 – CodeCaster