PHP curl 檢查url是否存在的應用備忘~
若是租用虛擬主機,大部份虛擬主機會把php.ini中的. allow_url_fopen 給關閉! 這樣一樣就無法使用類似get_header這樣取用外部網站資訊的函式! 所以都會開啟curl的功能! 那我們就用curl來檢查url是否存活啦~~
若是租用虛擬主機,大部份虛擬主機會把php.ini中的.
allow_url_fopen 給關閉!
這樣一樣就無法使用類似get_header這樣取用外部網站資訊的函式!
所以都會開啟curl的功能!
那我們就用curl來檢查url是否存活啦~~
function ckurl($url){
$toCheckURL = $url; //設定要檢查的url變數
// 設定curl的函數
$ch = curl_init();//要先初始化哦
curl_setopt($ch, CURLOPT_URL, $toCheckURL);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
$data = curl_exe c($ch);//因為在wordpress PO這行會有問題..所以e 跟 c 我用空格隔開
curl_clos e($ch);//同上
preg_match_all(“/HTTP\/1\.[1|0]\s(\d{3})/”,$data,$matches);
$code = end($matches[1]);
#echo $code.’ = ‘;
if(!$data) {
//如果Url無法開啟
//echo “網頁無法開啟”;
return false;
} else {
// Show the correct information based on the status code
switch($code) {
case ‘200’:
//echo “Page Found”;
return false;
break;
case ‘401’:
//echo “Unauthorized”;
return false;
break;
case ‘403’:
//echo “Forbidden”;
return false;
break;
case ‘404’:
//echo “Page Not Found”;
return false;
break;
case ‘500’:
return false;
//echo “Internal Server Error”;
break;
}
}
}
這樣就可以啦