使用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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
使用Apache的htaccess防止图片被盗链的解决方法
Apr 27 PHP
php多文件上传下载示例分享
Feb 20 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
php 如何获取文件的后缀名
Jun 05 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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
typecho插件编写教程(六):调用接口
2015/05/28 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP中list方法用法示例
2016/12/01 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
python基础教程之五种数据类型详解
2017/01/12 Python
EM算法的python实现的方法步骤
2018/01/02 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
给我一面国旗 python帮你实现
2019/09/30 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
小学教师管理制度
2014/01/18 职场文书
市场安全管理制度
2014/01/26 职场文书
爽歪歪广告词
2014/03/20 职场文书
公司委托书范本
2014/04/04 职场文书
社区服务活动总结
2014/05/07 职场文书
论文诚信承诺书
2014/05/23 职场文书
条幅标语大全
2014/06/20 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书