php获取图像的KB大小

时间:2010-09-27 15:20:53

标签: php filesize getimagesize

我一直在谷歌,但我得到的是getimagesize和filesize getimagesize dosent得到的KB大小只是宽度和高度,这不是我想要的 filesize给我留言 警告:filesize()[function.filesize]:stat失败
有问题的文件是51kb .jpg文件

$imgsize=filesize("http://localhost/projects/site/schwe/user/1/1.jpg");

不起作用,

我该如何做到这一点?

6 个答案:

答案 0 :(得分:7)

您无法获取远程元素的文件大小,或者在系统上提供相对路径或者执行file_get_contents()以获取内容 。因此,不是http://,而是filesize('/path/to/local/system')。确保它可以通过php进程读取

答案 1 :(得分:5)

您无法查找类似的远程文件的文件大小。它用于查看本地文件的文件大小。

例如......

$imgsize = filesize( '/home/projects/site/1.jpg' );

答案 2 :(得分:1)

filesize()是要使用的功能。它可能会失败,因为

  1. 您正在尝试获取网址& URL包装器可能未打开
  2. 该网址无效。
  3. 如果您尝试在本地文件上运行filesize(),请引用文件系统路径,而不是某些Web URL。

答案 3 :(得分:1)

或者你也可以这样做:

$header = get_headers($url);
foreach ($header as $head) {
    if (preg_match('/Content-Length: /', $head)) {
        $size = substr($head, 15);                      
    }
}

答案 4 :(得分:0)

filesize将文件的名称作为参数而不是URL,并以字节为单位返回文件的大小。您可以将返回值除以1024以获取KB大小。

答案 5 :(得分:0)

我有同样的问题,我这样解决了。我不知道它有多优,但它对我有用:

getimagesize("http://localhost/projects/site/schwe/user/1/1.jpg");

$file_size = $file[0]*$file[1]*$file["bits"];