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 相关文章推荐
第三节 定义一个类 [3]
Oct 09 PHP
php桌面中心(四) 数据显示
Mar 11 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
PHP也能干大事 随机函数
Apr 14 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
PHP http请求超时问题解决方案
Nov 13 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
Linux编译升级php的详细方法
2013/11/04 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
详细介绍Python中的偏函数
2015/04/27 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
介绍一下Java中的static关键字
2012/05/12 面试题
离婚协议书怎样才有法律效力
2014/10/10 职场文书
迟到检讨书
2015/01/26 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
工作会议简报
2015/07/20 职场文书
新郎婚礼致辞
2015/07/27 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js