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

php检查远程文件是否存在

高洛峰
高洛峰Original
2016-10-14 10:39:561145Durchsuche

以前知道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

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen