php专区

 首页 > php专区 > PHP基础 > 函数 > php检查远程文件是否存在

php检查远程文件是否存在

分享到:
【字体:

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

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

分享到:
PHP中strpos、strstr和stripos、stristr...
strpos mixed strpos ( string $haystack, mixed $needle [, int $offset = 0 ] ) 如果offset指定了,查找会从offset的位置开始。offset不能为负数。 返回needle第一次出现在haystack的位置。如果在haystack中找不到needle,则返回FALSE。 needle,如果needle不是字符串,它会被转换成整型数值并赋值为...
php上传文件到远程服务器的方法
有时候为了实现负载或者是其他的原因,我们需要将上传上来的文件放置在其他的服务器,由于本人对服务器上的工具不太熟悉,所以仅从php程序入手,通过php的ftp或者curl来实现上传文件到远程服务器 当然这两种方式都是需要先上传到当前的web服务器,然后再转移到其他的服务器   第一个方法是ftp上传到远程...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……