How to use the get_headers function in PHP to determine whether a remote file exists, _PHP tutorial

WBOY
Release: 2016-07-13 10:12:51
Original
870 people have browsed it

How PHP uses the get_headers function to determine whether a remote file exists,

The example in this article describes how PHP uses the get_headers function to determine whether a remote file exists. Share it with everyone for your reference. The specific implementation method is as follows:

Previous articles about the process of determining whether remote files exist in PHP all used fopen, sockt, and curl functions to check whether remote files exist. Now I will introduce how to use get_headers to check whether remote files exist. Interested friends can For reference.

First let’s briefly understand the get_headers() function

get_headers() returns an array m containing the headers sent by the server in response to an HTTP request.

get_headers: Send server response to HTTP request

get_headers(string url[link format])

get_headers() returns the server HTTP request m in the form of an array. If the execution fails, it will return FALSE and an error level E_WARNING,

The optional parameter is set to 1, get_headers() can analyze the response speed of the system and the keys in the set array,

Note: To use this function, you need to set allow_url_fopen = On in php.ini to use

The example code is as follows:

Copy code The code is as follows:
$url = 'http://www.bkjia.com';
print_r(get_headers($url));
print_r(get_headers($url, 1));
?>

The running results are as follows:
Copy code The code is as follows:
Array
(
[0] => HTTP/1.1 200 OK
[1] => Cache-Control: max-age=1800
[2] => Content-Length: 54874
[3] => Content-Type: text/html
[4] => Content-Location: http://www.bkjia.com/index.htm
[5] => Last-Modified: Fri, 28 Nov 2014 03:34:56 GMT
[6] => Accept-Ranges: bytes
[7] => ETag: "b66ba847bcad01:bc5"
[8] => Server: Microsoft-IIS/6.0
[9] => Date: Fri, 28 Nov 2014 03:37:34 GMT
[10] => Connection: close
)
Array
(
[0] => HTTP/1.1 200 OK
[Cache-Control] => max-age=1800
[Content-Length] => 54874
[Content-Type] => text/html
[Content-Location] => http://www.bkjia.com/index.htm
[Last-Modified] => Fri, 28 Nov 2014 03:34:56 GMT
[Accept-Ranges] => bytes
[ETag] => "b66ba847bcad01:bc5"
[Server] => Microsoft-IIS/6.0
[Date] => Fri, 28 Nov 2014 03:37:35 GMT
[Connection] => close
)

The code to determine whether the remote file exists is as follows:
Copy the code The code is as follows:
//Determine whether the remote file exists
function remote_file_exists($url) {
          $executeTime = ini_get('max_execution_time');                                    ini_set('max_execution_time', 0);
          $headers = @get_headers($url);                                          ini_set('max_execution_time', $executeTime);
If ($headers) {
                 $head = explode(' ', $headers[0]);                                          If ( !emptyempty($head[1]) && intval($head[1]) < 400) return true;
                                                                                           return false;                                      }

The example code to exclude redirection is as follows:


Copy code

The code is as follows:
/**
* Fetches all the real headers sent by the server in response to a HTTP request without redirects
* Get headers without redirects
​*/ 
    
function get_real_headers($url,$format=0,$follow_redirect=0) { 
  if (!$follow_redirect) { 
    //set new default options 
    $opts = array('http' => 
        array('max_redirects'=>1,'ignore_errors'=>1) 
    ); 
    stream_context_get_default($opts); 
  } 
  //get headers 
    $headers=get_headers($url,$format); 
    //restore default options 
  if (isset($opts)) { 
    $opts = array('http' => 
        array('max_redirects'=>20,'ignore_errors'=>0) 
    );
    stream_context_get_default($opts); 
  } 
  //return 
    return $headers; 

?>

希望本文所述对大家的PHP程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/919259.htmlTechArticlePHP使用get_headers函数判断远程文件是否存在的方法, 本文实例讲述了PHP使用get_headers函数判断远程文件是否存在的方法。分享给大家供大家...
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