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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
Jun 06 PHP
深入php处理整数函数的详解
Jun 09 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
PHP连接局域网MYSQL数据库的简单实例
Aug 26 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP长连接实现与使用方法详解
Feb 11 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
PHP连接MongoDB示例代码
2012/09/06 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
jQuery 渐变下拉菜单
2009/12/15 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
python实现随机森林random forest的原理及方法
2017/12/21 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
2014年大学生四年规划书范文
2014/04/03 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
个人存款证明书
2014/10/18 职场文书
开展警示教育活动总结
2015/05/09 职场文书