使用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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
smarty内置函数section的用法
Jan 22 PHP
php简单实现数组分页的方法
Apr 30 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
Jun 06 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
May 13 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
JS实现购物车特效
2017/02/02 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
Python FTP操作类代码分享
2014/05/13 Python
python简单实现计算过期时间的方法
2015/06/09 Python
Python的pycurl包用法简介
2015/11/13 Python
python测试mysql写入性能完整实例
2018/01/18 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python中退出多层循环的方法
2018/11/27 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
学校会议通知范文
2015/04/15 职场文书
python 批量压缩图片的脚本
2021/06/02 Python