先日のAmazon.co.jp 商品画像の有無をチェックする方法(PHP)とやってることは似ている。
* 個人的なメモ
Yahoo!画像検索ウェブサービスを使って画像を持ってくると、リンク切れの画像が紛れ込んでいることがよくある。そんなときに先日のHTTP_Requestを使いResponseCodeをチェックしても良いのだけれど、呼び出す画像の数が多くなるほど遅くなり実用的ではなくなる。
そこで、ResponseCodeのチェックだけならPEARのHTTP_Headerを使うと早くなる。たぶん。(headerのみ取得するため)
require_once 'PEAR.php';
require_once 'HTTP.php';
// リクエストを行うURLの指定
$url = 'image-url';
$header = HTTP::head($url);
if (!PEAR::isError($header)) {
$responseCode = $header['response_code'];
if (!PEAR::isError($responseCode)) {
if ($responseCode === '200') {
// 画像あり
} else {
// 画像なし
}
}
もちろん画像以外のデッドリンク判別にも使える。
参考: HTTP::head