Php Can';通过HTTP包装器读取文件时无法获取文件大小
我尝试使用PHP获取可通过HTTP访问的远程文件的文件大小,但失败了 100%肯定地说,让我声明:Php Can';通过HTTP包装器读取文件时无法获取文件大小,php,filesize,Php,Filesize,我尝试使用PHP获取可通过HTTP访问的远程文件的文件大小,但失败了 100%肯定地说,让我声明: 文件存在 返回1 返回列表上的http,然后 返回类型(流)的资源(119) 也就是说,远程文件是可以访问的。然而,我得到了: file_exists($filename): bool(false) is_file($filename): bool(false) is_writable($filename): bool(false) is_readable($filename): bool(f
- 文件存在
- 返回
1
- 返回列表上的
,然后http
- 返回类型(流)的
资源(119)
file_exists($filename): bool(false)
is_file($filename): bool(false)
is_writable($filename): bool(false)
is_readable($filename): bool(false)
调用filesize($filename)
的尝试以filesize():stat因…
错误而失败而结束
我遗漏了什么?答案可以在PHP的文档中找到。“”部分解释说,尽管此协议允许读取,但它不支持功能 因此,它像一个符咒一样工作,而其他需要
stat()
才能工作的函数则无法使用此包装器。请注意,PHP文档中说,这些函数只支持一些URL包装器:
从PHP5.0.0开始,这个函数也可以与一些URL包装器一起使用。和包装器,以确定哪些包装器支持功能系列
似乎HTTP/HTTPS包装器不在其中
您可以尝试使用与此包装器一起使用的fopen()
,来实现自己版本的文件大小确定函数。但是,由于fopen()
实际上打开了文件(而filesize()
从文件系统/元数据中读取文件大小),因此我可以想到,在任何情况下,这都是一种非常过分的做法。而且<代码>允许的内存大小为XXX字节(已尝试分配YYY字节),在…将是您今晚最亲密的朋友