检查php链接是否损坏
发布时间:2020-05-31 01:35:09 所属栏目:PHP 来源:互联网
导读:我想知道是否有任何好的 PHP脚本(库)检查链接是否损坏?我有一个mysql表中的文档的链接,可能只是检查链接是否导致文档,或者我被重定向到其他url.任何想法?我宁愿在PHP中做. 可能涉及: Check link works and if not visually identify it as broken 您可以使
|
我想知道是否有任何好的 PHP脚本(库)检查链接是否损坏?我有一个mysql表中的文档的链接,可能只是检查链接是否导致文档,或者我被重定向到其他url.任何想法?我宁愿在PHP中做. 可能涉及: 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"; 希望这可以帮助你:) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
