检查PHP中的MP3链接是否正常工作或已损坏

时间:2014-03-09 14:58:31

标签: php

我想查看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";

1 个答案:

答案 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>