一个自定义的检查URL返回状态代码

用PHP写了一个检查按txt文档内的url返回状态码的代码,有些烂~~~~  

<?php
set_time_limit(600);
//检查URL并返回状态码
function shozj($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url); //设置URL
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
$data = curl_exec($curl); //开始执行啦~
$httpstat = curl_getinfo($curl,CURLINFO_HTTP_CODE); //把返回数据友好输出
if ($httpstat==200){
    $httpstat= "<font color='green'>200</font>";
}
if ($httpstat==404){
    $httpstat= "<font color='red'>404</font>";
}
if ($httpstat==301){
    $httpstat= "<font color='#825947'>301</font>";
}
return $httpstat;
curl_close($curl); //用完记得关掉他    
}
//读取txturl文件按数组输出
function showwj($filename){
$arrzt = array();
$zturl = fopen($filename,'r');
while(!feof($zturl))
 {
  if(strtolower(trim(fgets($zturl,4096)))!="") $arrzt[]=strtolower(trim(fgets($zturl,4096)));//不为空的URL写入数组
 }
fclose($zturl);
return $arrzt;
}
if($_GET["action"]=="check" && $_GET["address"]!=""){
$i=0;
foreach (showwj((string)$_GET["address"]) as $v){
    echo $v."---返回状态:---".shozj($v)."<br />"; 
    //usleep(50000);
    $i++;
}
}else{
?>
<form action="" method="get"><input type="hidden" name="action" value="check" /><input type="text" name="address" value="txt/checkurl.txt" /><input type="submit" value="提交" /></form><br />
说明:404:网页不存在 200:正常能打开 301:永久跳转 *:其他自己查询
<?php
}
?>

 

posted @ 2013-07-24 12:02  shot_ma  阅读(243)  评论(0)    收藏  举报