Briefly explain the above code. The function of get_headers is to access a remote address and return the HTTP headers sent by the server in the form of an array. And $header[0] is the status code returned by the server (if nothing else happens, the status code should be the first one returned).
To determine that a file exists on the remote server, just make sure that the status code returned by accessing the file is "HTTP/1.1 200 OK" (of course you can also determine if the status code is not "HTTP/1.1 404 Not Found") Then the file exists, but it always feels unsafe. After all, there are other status codes such as 301, 400).
Example of obtaining three-digit HTTP response code:
function get_http_response_code($theURL) {
$headers = get_headers($theURL);
Return substr($headers[0], 9, 3);
}
?>
Example of excluding redirects:
/**
* Fetches all the real headers sent by the server in response to a HTTP request without redirects
* Get headers without redirection
*/
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;
}
?>
Fixed link to this article: http://www.xssxss.com/fuck/323.xss | Shine’s Holy Paradise-〃Min〃