【PHP】リンク先のURLが有効かどうかを確認する方法

  • 2018年1月17日
  • PHP

画像のURLを扱うときに、もしそのURLがリンク切れだったら代わりの画像を表示させる、という処理を行いたかったので、その方法についてまとめ。

なお、今回はこちらのサイトを参考にさせていただきました

【php】 URLが存在するかどうか確認する at softelメモ
https://www.softel.co.jp/blogs/tech/archives/4766

 

チェック方法としては、下記のように file_get_contents 関数を利用して、URL先のサイトの内容を文字列に読み込み、結果が返ってくればリンク先が存在している、という判断をしています。

$url = 'チェックしたいリンク先のURL';
$response = @file_get_contents($url, NULL, NULL, 0, 1);
if ($response !== false) {
    // リンク先が存在するときの処理
} else {
    // リンク先が存在しない時の処理
}

が、すべての内容を取得すると処理が重くなってしまうため、先頭の1文字だけを取得しています。
また、file_get_contentsは、リクエスト先がないときに warning が発生してしまうので、@をつけてエラーメッセージを表示させないようにしています。

 

他にも fopen 関数や get_header 関数を使用する方法も載っていましたが、これが一番処理が早く、また分かりやすいかなと思います。
URLチェックをしたい場合は、是非参考にしてください。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG