使用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 相关文章推荐
1.PHP简介
Oct 09 PHP
编写PHP的安全策略
Oct 09 PHP
如何删除多级目录
Oct 09 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
PHP伪造referer实例代码
Sep 20 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
laravel 解决路由除了根目录其他都404的问题
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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
php验证码实现代码(3种)
2015/09/07 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
python将文本中的空格替换为换行的方法
2018/03/19 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
python常量折叠基础知识点讲解
2021/02/28 Python
质检员的岗位职责
2013/11/15 职场文书
机械系大学毕业生推荐信
2013/11/27 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
关于环保的标语
2014/06/13 职场文书
工商管理自荐书
2014/07/06 职场文书
房屋出售授权委托书
2014/10/12 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
创业计划书之物流运送
2019/09/17 职场文书
导游词之无锡古运河
2019/11/14 职场文书