Điều này có thể được thực hiện bằng cách lấy mã Trạng thái HTTP (404 = not found), mã này có thể thực hiện được với file_get_contents
Tài liệu sử dụng các tùy chọn ngữ cảnh. Đoạn mã sau sẽ tính đến các chuyển hướng và sẽ trả về mã trạng thái của điểm đến cuối cùng ( Demo ):
$url = 'http://example.com/';
$code = FALSE;
$options['http'] = array(
'method' => "HEAD",
'ignore_errors' => 1
);
$body = file_get_contents($url, NULL, stream_context_create($options));
foreach($http_response_header as $header)
sscanf($header, 'HTTP/%*d.%*d %d', $code);
echo "Status code: $code";
Nếu bạn không muốn theo dõi các chuyển hướng, bạn có thể thực hiện tương tự ( Demo ):
$url = 'http://example.com/';
$code = FALSE;
$options['http'] = array(
'method' => "HEAD",
'ignore_errors' => 1,
'max_redirects' => 0
);
$body = file_get_contents($url, NULL, stream_context_create($options));
sscanf($http_response_header[0], 'HTTP/%*d.%*d %d', $code);
echo "Status code: $code";
Một số hàm, tùy chọn và biến đang sử dụng được giải thích chi tiết hơn trong một bài đăng trên blog mà tôi đã viết: HEAD trước với PHP Streams .