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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
php+mysql查询优化简单实例
Jan 13 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
yii添删改查实例
Nov 16 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 PHP
yii2安装详细流程
May 23 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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+mysql分页代码详解
2008/03/27 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php进程间通讯实例分析
2016/07/11 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
JS中操作JSON总结
2020/12/06 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
vue element实现表格合并行数据
2020/11/30 Vue.js
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python实现图片批量压缩程序
2018/07/23 Python
python 堆和优先队列的使用详解
2019/03/05 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
护士自荐信范文
2013/12/15 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
房屋租房协议书范本
2014/12/04 职场文书
仰望星空观后感
2015/06/10 职场文书
水浒传读书笔记
2015/06/25 职场文书
值班管理制度范本
2015/08/06 职场文书