我有脚本:
<?php
$url = file_get_contents("http://www.example.com");
if(HTTP_STATUS == "404")
{
echo "Status : 404";
}
?>
如何在IF中变量以便我可以跟踪http status
?
因此,如果HTTP状态为404
,则echo "Status : 404"
答案 0 :(得分:2)
调用A^B == A~B + ~AB
后,可以在变量$http_response_header
中找到HTTP响应:
file_get_contents
答案 1 :(得分:0)
使用get_headers()
$file = 'http://www.example.com';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
echo "Status : 404";
}
答案 2 :(得分:0)
萨蒂的答案是写的,我也建议使用curl,在curl_exec
之后,您可以使用curl_getinfo获取所有信息
来自同一链接的示例:
<?php
// Create a curl handle
$ch = curl_init('http://www.example.com/');
// Execute
curl_exec($ch);
// Check if any error occurred
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
echo 'HTTP STATUS CODE: ' . $info['http_code'];
}
// Close handle
curl_close($ch);
?>
可以使用设置CURLOPT_RETURNTRANSFER
true
使用curl_setopt从curl_exec获取结果。
示例:
<?php
// Create a curl handle
$ch = curl_init('http://www.example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute
$result = curl_exec($ch);
// Check if any error occurred
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
echo 'HTTP STATUS CODE: ' . $info['http_code'];
}
// Close handle
curl_close($ch);
// use $result
var_dump($result);
?>