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 = 'http://www.jb51.net/images/test.jpg'; if( @fopen( $url, 'r' ) ) { echo 'File Exits'; } else { echo 'File Do Not Exits'; } ?>
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 = 'http://www.jb51.net/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 '文件不存在'; } ?>
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!