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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 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
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
vuex 的简单使用
2018/03/22 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
探究python中open函数的使用
2016/03/01 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python补齐字符串长度的实例
2018/11/15 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
Python实现图片识别加翻译功能
2019/12/26 Python
零基础小白多久能学会python
2020/06/22 Python
keras输出预测值和真实值方式
2020/06/27 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
pycharm永久激活超详细教程
2020/10/29 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
个人能力自我鉴赏
2014/01/25 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
明星邀请函
2015/02/02 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android