使用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实现验证码功能
Oct 09 PHP
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
PHP中常用的转义函数
Feb 28 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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学习之PHP表达式
2006/10/09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
11款基于Javascript的文件管理器
2009/10/25 Javascript
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
python中的print()输出
2019/04/12 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
Python 随机按键模拟2小时
2020/12/30 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
软件设计的目标是什么
2016/12/04 面试题
幼师自我鉴定范文
2013/10/01 职场文书
大学毕业感言
2014/01/10 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书