使用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的中问验证码
Nov 25 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
php数值计算num类简单操作示例
May 15 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
如何编写jquery插件
2017/03/29 jQuery
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
Python 26进制计算实现方法
2015/05/28 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
python计算日期之间的放假日期
2018/06/05 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
如何利用find命令查找文件
2015/02/07 面试题
小学生暑假感言
2014/02/06 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
水电施工员岗位职责
2015/04/11 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
答辩状格式范本
2015/05/22 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android