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函数
Oct 09 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
yii操作session实例简介
Jul 31 PHP
php格式化日期实例分析
Nov 12 PHP
19个Android常用工具类汇总
Dec 30 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 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
一个用于网络的工具函数库
2006/10/09 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
php中的常用魔术方法总结
2013/08/02 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
Python中下划线的使用方法
2015/03/27 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
VC++笔试题
2014/10/13 面试题
恒华伟业笔试面试题
2015/02/26 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
英文自荐信
2013/12/19 职场文书
教育科研先进个人材料
2014/01/26 职场文书
旅游节目策划方案
2014/05/26 职场文书
司考复习计划
2015/01/19 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
Python中time与datetime模块使用方法详解
2022/03/31 Python
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js