使用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的五种设计模式
Sep 05 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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创建PDF中文文档
2006/10/09 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
js实现搜索栏效果
2018/11/16 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
餐饮营销方案
2014/02/23 职场文书
圆明园观后感
2015/06/03 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript