我想查看MP3链接是否存在或已损坏。
我有一个链接http://a.tumblr.com/tumblr_l1k295O4mS1qa64mao1.mp3它正在运作。但是http://a.tumblr.com/tumblr_l1k295O4mS1qa64maosadasdasdasdasd1.mp3是一个损坏的MP3文件链接。
我想要想法或代码,如果它使用PHP工作或损坏,我可以查看mp3链接。
更新:
我认为这是对的。我在Check if links are broken in 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'];
}
$check_url_status = check_url($url);
if ($check_url_status == '200')
echo "Link Works";
else
echo "Broken Link";
答案 0 :(得分:1)
第二个链接导致服务器发出403响应。最简单的解决方案是使用get_headers():
$url = '...';
$headers = get_headers($url);
// warning: this will also accept
if (strpos($headers[0], '403 Forbidden')) {
// link invalid
}
另一种方法是检查实际XML输出中的AccessDenied
值:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>...</RequestId>
<HostId>
...
</HostId>
</Error>