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安装为Apache DSO
Oct 09 PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
使用VisualStudio开发php的图文设置方法
Aug 21 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
微信支付开发维权通知实例
Jul 12 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
Yii2框架中一些折磨人的坑
Dec 15 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也可以?成Shell Script
2006/10/09 PHP
php中cookie的作用域
2008/03/27 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
php实现文件编码批量转换
2014/03/10 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
基于python实现高速视频传输程序
2019/05/05 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
python利用opencv实现颜色检测
2021/02/23 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物