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的十大要点(上)
Feb 04 PHP
PHP开发负载均衡指南
Jul 17 PHP
PHP的几个常用数字判断函数代码
Apr 24 PHP
基于PHP生成静态页的实现方法
May 10 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
解析CodeIgniter自定义配置文件
Jun 18 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
php中的buffer缓冲区用法分析
May 31 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 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读取xml方法介绍
2013/01/12 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
javascript 写类方式之十
2009/07/05 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
python3 配置logging日志类的操作
2020/04/08 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
聚网科技C++面试笔试题
2015/09/01 面试题
应届生法律顾问求职信
2013/11/19 职场文书
给实习单位的感谢信
2014/02/01 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
财务人员个人工作总结
2015/02/27 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
高中化学教学反思
2016/02/22 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android