使用php获取上传文件的大小

时间:2017-11-19 10:13:48

标签: php file-upload

我将一些文件上传到我的服务器后,将它们保存在sql中,我将它们列在我的网站上。

??
??
??
??
??

在我列出文件的地方,我不仅要显示名称或上传日期,还要显示文件大小。

使用此代码,我收到此错误:

  

警告:filesize():stat

失败

当我查看网站来源时,我给出的路径是正确的。这些文件位于服务器上的文档文件夹中。

2 个答案:

答案 0 :(得分:0)

使用filesize()函数的文件路径。

示例文件路径:

/var/www/myfile.txt

或在Windows上

C:\xampp\htdocs\myfile.txt

答案 1 :(得分:0)

您的问题是,当您需要相对本地文件链接时,您将绝对URL传递给filesize() function(限定符:某些URL在PHP5 + 中有效)。

   $path = $host.'/documents/'.$a['fajl_file'];
   /*** 
   /*  http://www.someweb.site/documents/somefile.pdf
   /***/
   echo '<td>'.filesize($path).'</td>';

以上是传递到输出filesize("http://www.someweb.site/documents/somefile.pdf"),这不是您想要的,您需要将文档路径转换为 本地 文件版本

您可以使用$_SERVER['DOCUMENT_ROOT']

执行此操作
   $path = $host.'/documents/'.$a['fajl_file'];
   $localPath = $_SERVER['DOCUMENT_ROOT'] . '/documents/'.$a['fajl_file'];
   /*** 
   /*  /home/users/webaccount/www/documents/somefile.pdf
   /***/
   echo '<td>'.filesize($localPath).'</td>';

然后应该输出所请求的数据。