首页 > 解决方案 > 未显示目录中文件的 PHP 文件大小

问题描述

我想显示表中目录中每个文件的文件大小。但是无法显示文件的大小。

这是我使用的代码:

$dir    = 'audio';

$files = array_slice(scandir('audio'), 2);
sort($files, SORT_NATURAL | SORT_FLAG_CASE);

$size = (glob("audio/*.mp3"));
        
echo "<table border><tr><th>Dateiname</th><th>Dateingröße</th></tr>";
    foreach ($files as $file) {
        echo 
        "<tr>
            <td>
                <a href='audio/" . $file . "'target='_blank'>" . $file . "</a>
            </td>
            <td>" . filesize($size) . " Byte
            </td>
        </tr>";
    }
echo "</table>";

有人可以告诉我如何解决这个问题,所以尺寸显示在第二个表格列中吗?

标签: phpforeachglobfilesize

解决方案


您似乎对每个函数实际执行和返回的内容有点困惑。

这是代码的工作版本,我删除了一些部分,因为它们在做同样的事情。当您在一个数组中循环时,您在一个只接受字符串的函数内的循环$files中使用了另一个数组。$sizefilesize()

<?php

$files = (glob("audio/*.mp3"));
sort($files, SORT_NATURAL | SORT_FLAG_CASE);

echo "<table border><tr><th>Dateiname</th><th>Dateingröße</th></tr>";
foreach ($files as $file) {
    echo
        "<tr>
            <td>
                <a href='".$file."'target='_blank'>".basename($file)."</a>
            </td>
            <td>".filesize($file)." Byte
            </td>
        </tr>";
}
echo "</table>";

推荐阅读