PHP通过cURL可以获取HTTP状态码, 但并不是所有的服务器都支持cURL, 尤其是虚拟主机... 以下代码可以在没有cURL的情况下, 原生地获取HTTP页面的状态码.
- <?php
- $url = 'http://www.qsyz.net/';
- /*
- * PHP获取HTTP状态码
- * 吴先成 @ www.qSyz.net 发布
- * @param $url 要获取状态码的页面地址, 只能是url, 不能是本地相对链接.
- * @return 成功时返回3位数状态码,如200 302 404 等; 如果失败返回false
- */
- function getStatus($url){
- if($headers = @get_headers($url)){
- $status = $headers[0];
- $statusno= false;
- if(preg_match_all('%HTTP/1\.1 ([\d]{3})%i',$status,$matches)){
- $statusno = $matches[1][0];
- }
- return $statusno;
- }
- return false;
- }
- echo getStatus($url);
- ?>
复制代码
|
|