PHPのfile_get_contentsで404エラーを検知する

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

PHPのfile_get_contents関数を使ってURL先のコンテンツを取得する際に、取得先にファイルがない(404エラーであった)場合の処理のサンプル・コードです。URLが存在するか調べるだけであれば、HTTPヘッダーを調べる方が軽いです。

<?php

$sUrl = "http://sample.com/"; //取得したいURL

function isValidUrl($sUrl)
{
    if( ( $sResponce = @file_get_contents($sUrl) ) == FALSE ){
        // HTTPステータスコードを取得する
        list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
        // ステータスコードごとの処理
        switch($status_code) {
            case 404:
                //echo "404: Not found.";
                return false;
                break;
            default:
                //return "ERROR ${status_code}";
                return false;
                break;
        }
    } else {
        //正常にfile_get_contentsで取得できた場合の処理
        //echo "OK: {$sResponce}";
        return true;
    }
}
?>

■参考:BeTwittered, PHP and file_get_contents | robert.arlesnet.com

関連記事

PHPのSplFileObjectでURLを指定してCSVを読み込む... URLをSplFileObjectで使うにはNoRewindIteratorクラスも一緒に使う $url = 'http://sample.com/data.csv'; //オンライン上のCSVファイル $file = new NoRewindIterator( new SplFile...
PHPでPOSTした結果を取得する関数:フォームの動作を模擬する... PHPのfile_get_contents関数のPOST版ユーザ関数"file_post_contents()"を作りました。 このPHPのユーザ関数で、フォームからmethodをPOSTでリクエストしたのと同じ結果が簡単に得られます。 RESTを使ったサービスを利用する際の簡易的な実装にど...
ロリポップでfile_get_contentsが使えなくなった場合の確認箇所... 現象ですが、ロリポップで、下記スクリプトを実行すると"Warning: file_get_contents() file-access is disabled"エラーが出てしまいます。 ■スクリプト

スポンサーリンク
レクタングル(大)広告

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク
レクタングル(大)広告