在php中,检查某个链接是否存在,有两个方法,一个是使用curl,另外一个是
获得http的header的响应码,如果是200的则是ok,如果是404的话就找不到了,例子如下:
1) 使用get_headers:
$url = "http://www.abc.com/demo.jpg";
$headers = @get_headers($url);
if($headers[0] == 'http/1.1 404 not found')
{
echo "url not exists";
}
else
{
echo "url exists";
}
?>
get_headers中有第2个参数,是true的话,结果将会是个关联数组
2) 使用curl
$url = "http://www.domain.com/demo.jpg";
$curl = curl_init($url);
curl_setopt($curl, curlopt_nobody, true);
$result = curl_exec($curl);
if ($result !== false)
{
$statuscode = curl_getinfo($curl, curlinfo_http_code);
if ($statuscode == 200)
{
echo "url exists"
}
}
else
{
echo "url not exists";
}
?>
curlopt_nobody指定了只是建立连接,而不取整个报文的内容
希望与广大网友互动??
点此进行留言吧!