1

ユーザーが指定した URL から画像を検索できるスクリプトがあります。

したがって、入力文字列「http://www.google.com/」には、次のようなものを使用します

$html = file_get_html ( $url );
if ($html->find ( 'img' )) {....}

結果は「http://www.google.com/images/srpr/logo3w.png」になります。

しかし、ユーザーが文字列「http://www.google.com/images/srpr/logo3w.png」を入力した場合。imgタグはありません。URL は有効ですが、コードが失敗します。このケースをコードにどのように含めることができますか?

4

3 に答える 3

0

画像で何をしたいかに応じて、file_get_contentsを使用してページのコンテンツを取得し、次にimagecreatefromstringを使用してそれをgd画像リソースに変換します。画像に変換できない場合はfalseが返されるため、str_get_htmlを使用してhtmlを解析できます(http://simplehtmldom.sourceforge.net/を使用している場合) 。

于 2012-10-31T00:13:12.460 に答える
0

curl を使用して、サーバーからコンテンツ タイプを取得できます。画像の MIME タイプの場合は、html を解析する代わりに直接使用できます。

cURL と php を使用して外部ファイルの MIME タイプを取得する

于 2012-10-31T00:09:36.303 に答える
0

これを行う最善の方法は、HEAD リクエストを実行し、コンテンツ タイプをチェックして、URL が画像に対応しているかどうかを確認することです。画像の場合は好きなように処理しますが、HTML ページの場合は別のコードを使用してください。

于 2012-10-31T00:09:25.990 に答える