


How to use the get_headers function in PHP to determine whether a remote file exists, _PHP tutorial
Jul 13, 2016 am 10:12 AMHow 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:
$url = 'http://www.bkjia.com';
print_r(get_headers($url));
print_r(get_headers($url, 1));
?>
The running results are as follows:
(
[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:
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:
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程序设计有所帮助。

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
