php filters non-existent image resources
This article summarizes several methods for using php to filter non-existent image resources. It is very simple and practical. Friends in need You can refer to it.
Method 1:
The simplest way is to use fopen() to see if the file can be opened. If it can be opened, the file will of course exist.
?
1
2
3
4
5
6
7
8
9
10
11
12
|
$url = 'http://www.jb51.net/images/test.jpg';
if( @fopen( $url, 'r' ) )
{
echo 'File Exits';
}
else
{
echo 'File Do Not Exits';
}
?>
|
1
2
3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/**
* 筛选不存在的图片资源
*
* @author wanggeng
* @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;
}
|
4
5
6
7
8
9
10
11
12
|
<🎜>$url = 'http://www.jb51.net/images/test.jpg';<🎜>
<🎜> <🎜>
<🎜>if( @fopen( $url, 'r' ) ) <🎜>
<🎜>{ <🎜>
<🎜>echo 'File Exits';<🎜>
<🎜>} <🎜>
<🎜>else <🎜>
<🎜>{<🎜>
<🎜>echo 'File Do Not Exits';<🎜>
<🎜>}<🎜>
<🎜>?>
|
Method 2:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/**
* Filter non-existent image resources
*
* @author wanggeng
* @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 curl link to the executed url, which is a link to the image 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, it proves that the resource exists. Give the previous variable a true value, otherwise no value will be assigned
Method 3:
CURL method
CURL is a very useful class library. Let’s see how to use it to judge.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$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 '文件不存在';
}
?>
|
1
2
3
1
2
3
4
5
6
|
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
|
4
5
6
7
8
9
10
11
12
13
1415
16
|
<🎜>$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 'File does not exist';<🎜>
<🎜>}<🎜>
<🎜>?>
|
If the file does not exist after curl_exec() is executed, the following information will be returned:
?
1
2
3
4
5
6
|
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.
http://www.bkjia.com/PHPjc/990982.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/990982.htmlTechArticlephp filters non-existent image resources. This article summarizes several methods for using php to filter non-existent image resources. , very simple and practical, friends in need can refer to it. ...
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