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中截取字符串支持utf-8
Jan 18 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
文件上传之SWFUpload插件(代码)
Jul 30 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
php日期操作技巧小结
Jun 25 PHP
php实现图片以base64显示的方法
Oct 13 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 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 数组实例说明
2008/08/18 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
js中的面向对象入门
2017/03/06 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
Python 硬币兑换问题
2019/07/29 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
2014年班级工作总结
2014/11/14 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
物资采购管理制度
2015/08/06 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书