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编程最快明白》第八讲:php启发和小结
Nov 01 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
php搜索文件程序分享
Oct 30 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
php 流程控制switch的简单实例
Jun 07 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 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数组合并array_merge()函数使用注意事项
2014/06/19 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Python的IDEL增加清屏功能实例
2017/06/19 Python
python清理子进程机制剖析
2017/11/23 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
python 读取串口数据的示例
2020/11/09 Python
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
如何查找网页漏洞
2016/06/22 面试题
求职简历自荐信
2013/10/20 职场文书
金融专业毕业生推荐信
2013/11/26 职场文书
地质灾害防治方案
2014/05/14 职场文书
建筑学专业自荐书
2014/07/09 职场文书
人事局接收函
2015/01/31 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
感谢师恩主题班会
2015/08/17 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js