Home  >  Article  >  Backend Development  >  php check if remote file exists

php check if remote file exists

高洛峰
高洛峰Original
2016-11-28 16:51:461021browse

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


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