显示自定义字段值的文件大小

时间:2013-07-12 作者:MightyGas

我想从自定义字段显示文档(pdf、word、excel等)的文件大小。我已经搜索过了,什么也没找到。我从其他网站获得了这段代码,但它是用PHP编写的。所以我手动将其添加到我的主题中。

if($kpmFile !== get_post_custom_values("kpm_UploadFile")) {
$head = array_change_key_case(get_headers($kpmFile, TRUE));
echo $filesize = $head[\'content-length\'];
}
我从上述代码中得到此警告:

Warning: get_headers() [function.get-headers]:
但如果我这样做:

if($kpmFile !== get_post_custom_values("kpm_UploadFile")) {
$head = array_change_key_case(get_headers("http://example.net/publications/Wellspring-of-Hope.pdf", TRUE));
echo $filesize = $head[\'content-length\'];
}
代码将显示44147474中的文件大小,该文件实际为42.1MB

我需要有关如何从自定义字段值以kb、mb或gb为单位显示文档的正确文件大小的帮助。

提前谢谢。

1 个回复
最合适的回答,由SO网友:Ravinder Kumar 整理而成

用于显示文件大小的函数,即。

将此代码粘贴到函数中。php

   /*
 * @param string $fileSize Filepath
 * @param int $digits Digits to display
 * @return string|bool Size (KB, MB, GB, TB) or boolean
 */

function getFilesize($fileSize, $digits=2) {
    $sizes = array("TB","GB","MB","KB","B");
    $total = count($sizes);
    while ($total-- && $fileSize > 1024) {
        $fileSize /= 1024;
    }
return round($fileSize, $digits)." ".$sizes[$total];
}
将此代码粘贴到单个中。php

if($kpmFile !== get_post_custom_values("kpm_UploadFile")) {
$head = array_change_key_case(get_headers("http://example.net/publications/Wellspring-of-Hope.pdf", TRUE));
echo $filesize = getFilesize($head[\'content-length\']);
}

结束

相关推荐