如何在foreach循环中获取文件的文件大小
how to get the filesize of files in a foreach loop
我正在尝试回显目录中所有文件的文件大小,但它不回显文件大小,只回显文件名。这是我的代码:
$dir = "users/$UserName";
$files = scandir($dir);
sort($files);
echo '<table>';
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
?>
<tr>
<td><?php echo $file."<br />";
?>
</td>
<td>
<?php echo filesize($file);
?>
</td>
</tr>
<?php
}
}
我做错了什么?
scandir
returns 文件名 仅不是 文件路径。
您应该在 filesize($file)
中使用文件路径
AS m_poorUser 说您需要将完整的文件路径传递给 filesize() 函数,也许如果您这样做:
<?php echo filesize($dir."/".$file); ?>
我正在尝试回显目录中所有文件的文件大小,但它不回显文件大小,只回显文件名。这是我的代码:
$dir = "users/$UserName";
$files = scandir($dir);
sort($files);
echo '<table>';
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
?>
<tr>
<td><?php echo $file."<br />";
?>
</td>
<td>
<?php echo filesize($file);
?>
</td>
</tr>
<?php
}
}
我做错了什么?
scandir
returns 文件名 仅不是 文件路径。
您应该在 filesize($file)
AS m_poorUser 说您需要将完整的文件路径传递给 filesize() 函数,也许如果您这样做:
<?php echo filesize($dir."/".$file); ?>