Home >Backend Development >PHP Tutorial >php check if remote file exists
I used to know that file_exists cannot check whether a remote file exists, but I don’t know how to check whether a remote file exists.
Today when I was reading the PHP Information Research Center blog, I found a function get_headers
The original text is here:
How to check a remote file Does it exist
get_headers(PHP5) — Get all the headers sent by the server in response to an HTTP request
get_headers() returns an array containing the headers sent by the server in response to an HTTP request. If it fails, it returns FALSE and issues an E_WARNING level error message.
If the optional format parameter is set to 1, get_headers() will parse the corresponding information and set the key name of the array.
Returns something like
Array (
[0] => HTTP/1.1 200 OK
[Date] => Sat, 29 May 2004 12:28:14 GMT
[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
[ETag] => "3f80f-1b6-3e1cb03b"
[Accept-Ranges] => bytes
[Content-Length] => 438
[Connection] => close
[Content-Type] => text/html
)
I don’t feel comfortable with the way the original author uses to determine whether to return an array That’s right
because the http file status may not be 200 but something else
because I tested something that doesn’t actually exist on my website, and the page status returned should be 404 does not exist, but the original author’s function still returns true
In fact, it should be judged based on the status of the returned page