我有这样的代码:
<?php
function ping($host, $port, $timeout) {
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
if (!$fP) {
return "down";
}
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}
如果主机不可达,回显结果将显示"down",如果主机不可达,则显示ping结果。
echo ping("fernando.ki2.co", 80, 10);
?>
我需要写如果ping重定向到/404.html文件。如果没有,子域被占用;如果是,子域是空闲的
有人能帮我吗?
这样你就不能得到http状态码了。
但是,您可以使用cURL。
http://php.net/manual/en/book.curl.php
它将让PHP直接向远程服务器发出http请求。发出请求后,您可以分析返回的数据、状态码和其他所有内容。
这个例子展示了如何获取状态码:
<?php
$ch = curl_init("http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)
echo $http_code;
?>