使用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调用Oracle存储过程
Oct 09 PHP
打造计数器DIY三步曲(下)
Oct 09 PHP
php session和cookie使用说明
Apr 07 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP原生函数一定好吗?
Dec 08 PHP
php数组添加元素方法小结
Dec 20 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php生成验证码函数
Oct 20 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
php读取本地json文件的实例
Mar 07 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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产生随机字符串函数
2006/12/06 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
php批量删除操作代码分享
2017/02/26 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
Prototype Class对象学习
2009/07/19 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
vue中使用input[type="file"]实现文件上传功能
2018/09/10 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
python中数据库like模糊查询方式
2020/03/02 Python
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
行政人事专员岗位职责
2014/03/05 职场文书
大家访活动实施方案
2014/03/10 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
培养联系人考察意见
2015/06/01 职场文书
小学运动会宣传稿
2015/07/23 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
详解Vue slot插槽
2021/11/20 Vue.js