【发布时间】:2014-01-29 03:08:17
【问题描述】:
好的,所以我有一个位于主根目录的 php 文件,我正在尝试获取服务器上较低文件夹中文件的文件大小。
示例:http://website.com/myphpfile.php 尝试访问:http://website.com/movies/[包含所有内容]
我不断得到 0 或一些随机数,但我无法让它生成每个文件的大小。
// Opens directory
$myDirectory = opendir("./movies");
// Gets each entry
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName;
}
我正在使用这个 sn-p:
function size_readable($size, $max = null, $system = 'si', $retstring = '%01.2f %s')
{
// Pick units
$systems['si']['prefix'] = array('B', 'K', 'MB', 'GB', 'TB', 'PB');
$systems['si']['size'] = 1000;
$systems['bi']['prefix'] = array('B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB');
$systems['bi']['size'] = 1024;
$sys = isset($systems[$system]) ? $systems[$system] : $systems['si'];
// Max unit to display
$depth = count($sys['prefix']) - 1;
if ($max && false !== $d = array_search($max, $sys['prefix'])) {
$depth = $d;
}
// Loop
$i = 0;
while ($size >= $sys['size'] && $i < $depth) {
$size /= $sys['size'];
$i++;
}
return sprintf($retstring, $size, $sys['prefix'][$i]);
}
我的问题是如何调用这些文件?
我知道这是错误的,但应该是什么?
$thefilesize = size_readable(filesize($entryName));
或
有人可以编写/编辑此代码以帮助我了解发生了什么以及它在哪里/抓取了什么吗?
【问题讨论】:
-
你在哪里调用 size_readable? $file 的值是多少?
-
我在循环内调用 size_readable 并且 $file 为空。我不是故意把它放在那里的。让我编辑该部分。它应该是:$thefilesize = size_readable(filesize($entryName));