URL を指定して伝送に関するデータを取得する②

かしこ 17views 更新:2016年9月9日

昨日作成したものに機能追加。

httpコードを取得して、ページが存在するかどうかを確認する処理を入れてみた。

何かに使えるかなぁ、と

<?php
class curl_lib
{
    const HTTP_CODE_MOVED_PERMANENTLY = 301 ;
    const HTTP_CODE_NOT_FOUND         = 404 ;
    /**
     * URL を指定して伝送に関するデータを取得する
     * @param String $in_url : 取得したい URL
     * @return array $curl_data : 取得データ / 取得失敗時は false
     */
    public function func_curl($in_url)
    {
        $ch        = curl_init($in_url) ;
        curl_setopt_array($ch, array(
                  CURLOPT_HEADER         => true
                , CURLOPT_RETURNTRANSFER => true
        )) ;
        $res       = curl_exec($ch) ;
        $curl_data = curl_getinfo($ch) ;
        curl_close($ch) ;
        return $curl_data ;
    }
    /**
     * 指定した URL 先が存在するか調べる
     * 接続できない場合も NG なる
     * @see $this->func_curl
     * @param String $check_url : チェックする URL
     * @return boolean : チェック結果 : true = OK / false = NG
     */
    public function check_http_code($check_url)
    {
        $res = $this->func_curl($check_url) ;
        if($res !== false
            && isset($res['http_code'])
            && $res['http_code'] != 0
            && $res['http_code'] != self::HTTP_CODE_MOVED_PERMANENTLY
            && $res['http_code'] != self::HTTP_CODE_NOT_FOUND) {
            return true ;
        }
        return false ;
    }
}

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません