Home >Backend Development >PHP Tutorial >Use PHP to handle non-existent image resources

Use PHP to handle non-existent image resources

*文
*文Original
2017-12-26 14:19:151887browse

How to use PHP to handle non-existent image resources? This article summarizes several methods for using PHP to filter non-existent image resources. It is very simple and practical. I hope to be helpful.

Method 1:

The simplest method is to use fopen() to see if the file can be opened. If it can be opened, the file will of course exist.


<?php
$url = &#39;http://www.jb51.net/images/test.jpg&#39;;

if( @fopen( $url, &#39;r&#39; ) ) 
{ 
 echo &#39;File Exits&#39;;
} 
else 
{
 echo &#39;File Do Not Exits&#39;;
}
?>

Method 2:


/** 
   * 筛选不存在的图片资源 
   * 
   * @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; 
  }

First create a The curl link to the executed url is the link to the picture or file
Initialize a variable to false
Or open the header information of the link. Each http request will have an http Code
We will verify based on this code
If the return code is 200, prove that the resource exists and give the previous variable a true value, otherwise it will not be assigned.

Method three:

CURL method

CURL is a good one The class library used, let’s see how to use it to judge.

<?php
$url2 = &#39;http://www.jb51.net/test.jpg&#39;;

$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 &#39;文件不存在&#39;;
}
?>

If the file does not exist after curl_exec() is executed, the following information will be returned:

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

Use regular expressions to see if there is a 404. If so, the file does not exist.

Related recommendations:

#php Download pictures remotely to local

PHP remote file management, you can sort tables, traverse directories, and sort by time_PHP tutorial

[php curl class library] 10 php curl class libraries download

The above is the detailed content of Use PHP to handle non-existent image resources. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn