php 模拟get_headers函数的代码示例


Posted in PHP onApril 27, 2013
<?php  
02 if(!function_exists('get_headers')){  
03     function get_headers($url,$format=0){  
04         $url=parse_url($url);  
05         $end="\r\n\r\n";  
06         $fp=fsockopen($url['host'],(empty($url['port'])?80:$url['port']),$errno,$errstr,30);  
07         if($fp){  
08             $out="GET / HTTP/1.1\r\n";  
09             $out.="Host: ".$url['host']."\r\n";  
10             $out.="Connection: Close\r\n\r\n";  
11             $var='';  
12             fwrite($fp,$out);  
13             while(!feof($fp)){  
14                 $var.=fgets($fp,1280);  
15                 if(strpos($var,$end))  
16                 break;  
17             }  
18             fclose($fp);  
19             $var=preg_replace("/\r\n\r\n.*\$/",'',$var);  
20             $var=explode("\r\n",$var);  
21             if($format){  
22                 foreach($var as $i){  
23                     if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))  
24                     $v[$parts[1]]=$parts[2];  
25                 }  
26                 return $v;  
27             }else{  
28                 return $var;  
29             }  
30         }  
31     }  
32 }  
33 echo '<pre>';  
34 print_r(get_headers('https://3water.com'));
PHP 相关文章推荐
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
yii上传文件或图片实例
Apr 01 PHP
php实现递归与无限分类的方法
Feb 16 PHP
php实现过滤UBB代码的类
Mar 12 PHP
yii添删改查实例
Nov 16 PHP
php文件上传的两种实现方法
Apr 04 PHP
php结合md5的加密解密算法实例
Sep 30 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
phpMyAdmin通过密码漏洞留后门文件
Nov 20 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 #PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 #PHP
php笔记之:php数组相关函数的使用
Apr 26 #PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 #PHP
php笔记之:文章中图片处理的使用
Apr 26 #PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 #PHP
input file获得文件根目录简单实现
Apr 26 #PHP
You might like
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
python缩进区别分析
2014/02/15 Python
python杀死一个线程的方法
2015/09/06 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
深入解析神经网络从原理到实现
2019/07/26 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
瀑布模型都有哪些优缺点
2014/06/23 面试题
个人欠款担保书
2014/05/20 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
园林系毕业生求职信
2014/06/23 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
Pytest中conftest.py的用法
2021/06/27 Python
Go语言grpc和protobuf
2022/04/13 Golang