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之第十天
Oct 09 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
php递归删除目录与文件的方法
Jan 30 PHP
PHP中header用法小结
May 23 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
Python中如何获取类属性的列表
2016/12/26 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python多进程控制学习小结
2018/10/31 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
tensorflow 变长序列存储实例
2020/01/20 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
基于Python fminunc 的替代方法
2020/02/29 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
西式婚礼主持词
2014/03/13 职场文书
合作意向协议书范本
2014/03/31 职场文书
业务内勤岗位职责
2014/04/30 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers