使用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中使用gettext来支持多语言的方法
May 02 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
php分页示例分享
Apr 30 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
php结合正则获取字符串中数字
Jun 19 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
Python continue语句用法实例
2014/03/11 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Python统计单词出现的次数
2018/04/04 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
环保倡议书50字
2014/05/15 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
在CSS中使用when/else的方法
2022/01/18 HTML / CSS