Home >Backend Development >PHP Tutorial >PHP filters non-existent image resources_PHP tutorial

PHP filters non-existent image resources_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:55:55807browse

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

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 '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