检查php链接是否损坏

前端之家收集整理的这篇文章主要介绍了检查php链接是否损坏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有任何好的 PHP脚本(库)检查链接是否损坏?我有一个MysqL表中的文档的链接,可能只是检查链接是否导致文档,或者我被重定向到其他url.任何想法?我宁愿在PHP中做.

可能涉及:
Check link works and if not visually identify it as broken

您可以使用此功能检查断开的链接
function check_url($url) {

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_HEADER,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    $headers = curl_getinfo($ch);
    curl_close($ch);

    return $headers['http_code'];
}

您需要安装CURL才能使其工作.现在您可以使用以下方式检查断开的链接

$check_url_status = check_url($url);
if ($check_url_status == '200')
   echo "Link Works";
else
   echo "Broken Link";

还请检查此链接的HTTP状态代码HTTP Status Codes

我想你也可以检查301和302状态码.

另一种方法是使用get_headers函数.但是,只有您的PHP版本大于5,这才有效:

function check_url($url) {
   $headers = @get_headers( $url);
   $headers = (is_array($headers)) ? implode( "\n ",$headers) : $headers;

   return (bool)preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i',$headers);
}

在这种情况下,只需检查输出

if (check_url($url))
   echo "Link Works";
else
   echo "Broken Link";

希望这可以帮助你:)

猜你在找的PHP相关文章