php筛选不存在的图片资源


Posted in PHP onApril 28, 2015

方法一:

最简单的方法就是用fopen(),看看文件能否打开,能打就文件当然就存在。

<?php
$url = 'https://3water.com/images/test.jpg';

if( @fopen( $url, 'r' ) ) 
{ 
 echo 'File Exits';
} 
else 
{
 echo 'File Do Not Exits';
}
?>



方法二:


/** 
   * 筛选不存在的图片资源 
   * 
   * @author wanggeng <wanggeng123@vip.qq.com> 
   * @return vodi 
   */ 
   
  private static function _checkAll($url) 
  {  
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_NOBODY, true); 
    $result = false; 
    $res = curl_exec($curl); 
    if ($res !== false){ 
      $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
      if($statusCode == 200) { 
        $result = true; 
      } 
    } 
    curl_close($curl); 
    return $result; 
  }

首先建立一个curl链接到执行的url也就是图片或者文件的链接
初始一个变量为false
或者打开链接的head头信息 每一个http请求都会有一个http Code
我们就根据这个code去验证
如果返回code 是200 证明资源存在 给之前的变量一个true的值 否则不予赋值

方法三:

CURL 方法

CURL是个很好用的类库,下面看下如何用它来判断。

<?php
$url2 = 'https://3water.com/test.jpg';

$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$contents = curl_exec($ch);
//echo $contents;
if (preg_match("/404/", $contents)){
 echo '文件不存在';
}
?>

curl_exec()执行完之后如果文件不存在,会返回如下信息:

HTTP/1.1 404 Not Found
Date: Tue, 14 Feb 2012 05:08:34 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 354
Content-Type: text/html

用正则看看是否有404,有的话文件就不存在。

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
通过对服务器端特性的配置加强php的安全
Oct 09 PHP
phpwind中的数据库操作类
Jan 02 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
php include类文件超时问题处理
Feb 06 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP addslashes()函数讲解
Feb 03 PHP
实例讲解PHP表单处理
Feb 15 PHP
mac pecl 安装php7.1扩展教程
Oct 17 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 #PHP
php恢复数组的key为数字序列的方法
Apr 28 #PHP
php递归调用删除数组空值元素的方法
Apr 28 #PHP
php删除文本文件中重复行的方法
Apr 28 #PHP
php实现简单的语法高亮函数实例分析
Apr 27 #PHP
php转换颜色为其反色的方法
Apr 27 #PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
Apr 27 #PHP
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
Discuz 模板引擎的封装类代码
2008/07/18 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
深入php list()函数的详解
2013/06/05 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
php实现RSA加密类实例
2015/03/26 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
Python如何为图片添加水印
2016/11/25 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python 导入文件过程图解
2019/10/15 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
vue路由实现登录拦截
2021/03/24 Vue.js
化妆师职业生涯规划书
2014/02/16 职场文书
房地产促销活动方案
2014/03/01 职场文书
三年级学生评语
2014/04/23 职场文书
骨干教师考核评语
2014/12/31 职场文书
坎儿井导游词
2015/02/09 职场文书
中学教师个人总结
2015/02/10 职场文书
申请吧主发表的感言
2015/08/03 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
浅谈JavaScript作用域
2021/12/06 Javascript