使用php get_headers 判断URL是否有效的解决办法


Posted in PHP onApril 27, 2013

在php中判断一个文件或目录是否存在,大家通常都会想到is_file和file_exists两个函数。但这两个函数再判断一个远程url文件是否存在的问题上还是会存在这样那样的问题。这里作者将和大家分享一种利用php get_headers函数来判断远程url文件是有效否存在的办法。

关于php get_headers函数的作用及用法,可以参考本站文章:

php中get_headers函数的作用及用法的详细介绍

下面来具体说如何利用php get_headers却判断url的真实有效性。

通过该函数的介绍,我们可以知道对于这个函数简单的说就是它返回的是一个HTTP请求的头文件信息,信息格式基本如下:

(1)

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

(2)

Array
(
    [0] => HTTP/1.0 404 Not Found
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

从以上两种情况可以很容易看出,如果判断该url是否有效存在肯定是通过数组中的第一个元素值来判断的。服务器返回 200 即文件正确返回的意思,服务器返回 404 即文件不存在,因此从这个地方就可以很容易的判断一个url的是否存在了。

(详细出处:PHP程序员笔记)

 

PHP 相关文章推荐
使用PHP制作新闻系统的思路
Oct 09 PHP
用PHP和MySQL保存和输出图片
Oct 09 PHP
利用PHP动态生成VRML网页
Oct 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
pdo中使用参数化查询sql
Aug 11 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
8个必备的PHP功能开发
Oct 02 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 #PHP
php gzip压缩输出的实现方法
Apr 27 #PHP
PHP字符串的编码问题的详细介绍
Apr 27 #PHP
php正则表达式使用的详细介绍
Apr 27 #PHP
基于PHP编程注意事项的小结
Apr 27 #PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 #PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 #PHP
You might like
域名和cookie问题(域名后缀)
2012/10/10 PHP
Destoon实现多表查询示例
2014/08/21 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
php实现微信公众号无限群发
2015/10/11 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
小程序实现左滑删除效果
2019/07/25 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Python版的文曲星猜数字游戏代码
2013/09/02 Python
python自动化测试之setUp与tearDown实例
2014/09/28 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
python 如何调用远程接口
2020/09/11 Python
纽约海:Sea New York
2018/11/04 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
公司员工检讨书
2014/02/08 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
授权委托书公证
2014/09/14 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
信用卡工作证明范本
2015/06/19 职场文书
《司马光》教学反思
2016/02/22 职场文书