Rumah > 类库下载 > PHP类库 > php检查远程文件是否存在

php检查远程文件是否存在

高洛峰
Lepaskan: 2016-10-14 10:39:56
asal
1272 orang telah melayarinya

以前知道file_exists不能检查远程文件是否存在,但不知道如何检查远程文件是否存在,

今天在看PHP信息研究中心博客的时候发现一个函数get_headers

原文在这里:
如何检查某个远程文件是否存在
http://www.xqs.cn/index.php?load=read&id=95

get_headers(PHP5) — 取得服务器响应一个 HTTP 请求所发送的所有标头

get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。

如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。

返回类似

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 
)

原文作者用判断是否返回数组的方式我感觉不妥

因为http文件状态可能不是 200 而是其他

因为我测试了一下我的网站上其实并不存在的东西,返回的是页面状态应该404 不存在 但原作者的函数依然返回true

实际上应该根据返回的页面状态来判断


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan