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 水平的题目
May 30 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
Oct 30 PHP
PHP中if和or运行效率对比
Dec 12 PHP
Zend Framework教程之配置文件application.ini解析
Mar 10 PHP
利用php输出不同的心形图案
Apr 22 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php判断当前操作系统类型
2015/10/28 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JavaScript 拾漏补遗
2009/12/27 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
python入门教程之识别验证码
2017/03/04 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
Python转换时间的图文方法
2019/07/01 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
银行简历自我评价
2014/02/11 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
第一书记观后感
2015/06/08 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL