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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
新版mysql+apache+php Linux安装指南
Oct 09 PHP
桌面中心(二)数据库写入
Oct 09 PHP
织梦模板标记简介
Mar 11 PHP
php 缓存函数代码
Aug 27 PHP
php中一个完整表单处理实现代码
Nov 10 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
Jun 19 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
PHP中header用法小结
May 23 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP7内核之Reference详解
Mar 14 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
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
Python入门学习指南分享
2018/04/11 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
pytorch中的inference使用实例
2020/02/20 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
翻译专业应届生求职信
2013/11/23 职场文书
药剂专业学生求职信范文
2013/12/28 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
保送生自荐信范文
2015/03/26 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
python3 字符串str和bytes相互转换
2022/03/23 Python