我上传了一些文件到一个文件夹,当我使用filesize函数时,我得到了这样的信息:
Message: filesize() [function.filesize]: stat failed for http://www.books.tahasoft.com/216.ppt文件路径为:
http://www.books.tahasoft.com/216.ppt下面是我的代码:
<?
echo filesize("http://www.books.tahasoft.com/216.ppt");
?>我该如何解决这个问题呢?
发布于 2012-10-23 23:11:33
您无法通过http协议获取文件大小。
如果文件位于本地服务器上,则在文件系统中使用带有绝对路径或相对路径的filesize。
发布于 2015-08-18 12:34:36
你可以像这样使用......
$ch = curl_init('http://www.books.tahasoft.com/216.ppt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
echo $size;发布于 2012-10-23 23:11:59
http://流包装器does not support stat系列函数,因此您不能使用filesize执行此操作,因为文档警告:
从PHP5.0.0开始,这个函数也可以和一些网址包装器一起使用。请参考支持的协议和包装器,以确定哪些包装器支持stat()系列功能。
如果您需要通过HTTP传输文件大小,而不必先下载整个文件,那么您可以使用curl获得它;您可以看看如何使用here。但请记住,这取决于远程服务器决定发回的标头;不能保证它总是有效的。
https://stackoverflow.com/questions/13033568
复制相似问题