Use PHP to handle non-existent image resources

*文
Release: 2023-03-18 14:38:02
Original
1845 people have browsed it

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;;
}
?>
Copy after login

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; 
  }
Copy after login

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;;
}
?>
Copy after login

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
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template