使用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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
php远程下载类分享
Apr 13 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
php实现微信发红包功能
Jul 13 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 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把大写命名转换成下划线分割命名
2015/04/27 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python实现从wind导入数据
2019/12/03 Python
django 模版关闭转义方式
2020/05/14 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
贷款承诺书
2015/01/20 职场文书
会议通知
2015/04/15 职场文书
在人间读书笔记
2015/06/30 职场文书
七年级作文之秋游
2019/10/21 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
php png失真的原因及解决办法
2021/11/17 PHP
Python何绘制带有背景色块的折线图
2022/04/23 Python