php 模拟get_headers函数

PHP 投稿 8200 0 评论

php 模拟get_headers函数

php 模拟get_headers函数。具体代码如下:


<?php
if(!function_exists('get_headers')){
    function get_headers($url,$format=0){
        $url=parse_url($url);
        $end="\r\n\r\n";
        $fp=fsockopen($url['host'],(empty($url['port'])?80:$url['port']),$errno,$errstr,30);
        if($fp){
            $out="GET / HTTP/1.1\r\n";
            $out.="Host: ".$url['host']."\r\n";
            $out.="Connection: Close\r\n\r\n";
            $var='';
            fwrite($fp,$out);
            while(!feof($fp)){
                $var.=fgets($fp,1280);
                if(strpos($var,$end))
                break;
            }
            fclose($fp);
            $var=preg_replace("/\r\n\r\n.*\$/",'',$var);
            $var=explode("\r\n",$var);
            if($format){
                foreach($var as $i){
                    if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))
                    $v[$parts[1]]=$parts[2];
                }
                return $v;
            }else{
				return $var;
			}
        }
    }
}
echo '<pre>';
print_r(get_headers('http://www.feishuai.vip/php-regular-expression/49.html'));

编程笔记 » php 模拟get_headers函数

赞同 (43) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽