【Wordpress】wp_remote_get()で取得したコンテンツが画像かどうか判定!
ワードプレスのwp_remote_get()関数で取得したHTTPリクエストの中の「content-type」をチェックして、コンテンツが画像ファイルかどうかを判定します。
wp_remote_get()の戻り値の中には、こんな感じヘッダ情報が含まれています。
↓
[data:protected] => Array ( [date] => Tue, 30 Aug 9999 00:00:00 GMT [content-type] => image/jpeg [content-length] => 123456 [server] => nginx [cache-control] => max-age=2592000 [s-maxage] => 2678400 [accept-ranges] => bytes [age] => 25668 [last-modified] => Tue, 30 Aug 9999 00:00:00 GMT [expires] => Tue, 30 Aug 9999 00:00:00 GMT [access-control-allow-origin] => * )
この中の「content-type」を読み込んで「image」という文字列がないかどうか、チェックします。
$img_url = "http://hogege.net/hoge.jpg"; $response = wp_remote_get($img_url, array( 'timeout' => 3 )); if( is_wp_error( $response ) ) { echo "応答がありません!"; return false; } if (!isset($response['body'])){ echo "コンテンツがありません!"; return false; } if (strpos($response['headers']['content-type'], 'image') !== false){ echo "画像ファイルです!"; }else{ echo "画像ファイルじゃありません!"; }
すごく適当な方法かもしれないけど、今はこれで良しとします・・。
以上!