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 setTime 设置当前时间的代码
Aug 27 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
php跨站攻击实例分析
Oct 28 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
composer.lock文件的作用
Feb 03 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
laravel 获取当前url的别名方法
Oct 11 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实现微信企业付款到个人零钱功能
2018/10/09 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python绘制漏斗图步骤详解
2019/03/04 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
python利用7z批量解压rar的实现
2019/08/07 Python
使用Python的turtle模块画国旗
2019/09/24 Python
wxPython多个窗口的基本结构
2019/11/19 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
好邻里事迹材料
2014/01/16 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
初一新生军训方案
2014/05/22 职场文书
校园广播稿精选
2014/10/01 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
中学生运动会广播稿
2015/08/19 职场文书
小学运动会入场口号
2015/12/24 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python