PHP判断远程url是否有效的几种方法小结


Posted in PHP onOctober 08, 2011

解决办法:
使用PHP解决
使用file_get_contents函数,不过优缺点如果url无法访问,会出现终止程序问题
使用curl返回,然后判断是否正确执行
使用get_headers函数,根据HTTP返回值查看是否有200
使用js解决:
使用原生的js函数ActiveXObject,仅支持ie内核的浏览器
使用jq扩展
本文主要介绍PHP解决办法中的第三种,这个方法很少用到,但是感觉又起来还不错,

get_headers需要支持

php_openssl支持 查看phpinfo看看是否开启
allow_url_fopen=on 修改php.ini,运行使用远程打开

函数介绍:
array get_headers ( string $url [, int $format ] )

get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。

如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。 例如:

PHP判断远程url是否有效的几种方法小结

简单的例子:
<?php 
$url = "/upload/201110/20111008192257383.gif"; 
$array = get_headers($url,1); 
if(preg_match('/200/',$array[0])){ 
echo "<pre/>"; 
print_r($array); 
}else{ 
echo "无效url资源!"; 
}

解释:判断远程图片ur是否有效,根据返回值HTTP中是否有200信息,判断是否是有效url资源

测试结果:

PHP判断远程url是否有效的几种方法小结

可以看到正确返回 -----------------------测试ok

优点缺点:
需要allow_url_fopen=on 开启,有点和file_get_contents函数使用条件类似,但是返回值比较少,可以使用
function_exists判断该方法是否可以使用

PHP 相关文章推荐
聊天室php&amp;mysql(二)
Oct 09 PHP
WINXP下apache+php4+mysql
Nov 25 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
php创建多级目录代码
Jun 05 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
php简单分页类实现方法
Feb 26 PHP
隐性调用php程序的方法
Jun 13 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
YII框架http缓存操作示例
Apr 29 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 #PHP
PHP下判断网址是否有效的代码
Oct 08 #PHP
Admin generator, filters and I18n
Oct 06 #PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 #PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 #PHP
linux iconv方法的使用
Oct 01 #PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 #PHP
You might like
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php支付宝APP支付功能
2020/07/29 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
javascript globalStorage类代码
2009/06/04 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
原生js实现日历效果
2020/03/02 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
Python正则表达式使用经典实例
2016/06/21 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
python重要函数eval多种用法解析
2020/01/14 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
上课迟到检讨书
2014/02/19 职场文书
2014年高考决心书
2014/03/11 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
白岩松演讲
2014/05/21 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
家长会开场白和结束语
2015/05/29 职场文书
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript