Как я могу отобразить размер файла?

1

На данный момент я могу перечислить все файлы в каталоге. Я использую этот код, и он отлично работает:

 <?php

    if ($handle = opendir('./uploaded')) {

        while (false !== ($entry = readdir($handle))) {

            if ($entry != "." && $entry != "..") {
                echo '<div class="col-md-3"><div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading">'.$entry.'</div><div class="panel-body">'.$entry.'</div><div class="panel-footer"><a href="./uploaded/'.$entry.'">View File</a></div></div></div>';
            }
        }

    closedir($handle);

    }

?>

Теперь я хочу отобразить всю информацию о файле в разделе while. Я видел, как люди это делали с помощью подобных методов с C и другими языками.

  • 0
    Пожалуйста, прочитайте php файловую систему. php.net/manual/en/ref.filesystem.php Все функции для получения информации о файле перечислены в приведенной выше ссылке.
  • 0
    Размер файла PHP - php.net/manual/en/function.filesize.php
Показать ещё 2 комментария
Теги:
file

2 ответа

2
Лучший ответ

Попробуйте fstat для получения более подробной информации

Описание ¶

array fstat ( resource $handle )

Собирает статистику файла, открытого дескриптором указателя файла. Эта функция аналогична функции stat() за исключением того, что она работает с указателем открытого файла вместо имени файла.

<?php

// open a file
$fp = fopen("/etc/passwd", "r");

// gather statistics
$fstat = fstat($fp);

// close the file
fclose($fp);

// print only the associative part
print_r(array_slice($fstat, 13));

?>

Вывод:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)
  • 0
    Спасибо. Это работает для моих нужд.
0

Попробуйте вот так..

<?php
     if ($handle = opendir('./uploaded')) {
       while (false !== ($entry = readdir($handle))) {
         if ($entry != "." && $entry != "..") {
          echo '<div class="col-md-3"><div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading">'.$entry.'</div><div class="panel-body">'.$entry.'</div><div class="panel-footer"><a href="./uploaded/'.$entry.'">View File</a></div></div></div>';
          echo $entry . ': ' . filesize($entry) . ' bytes'; // Gets file size e.g. xyz.txt: 1024 bytes
         }
       }
       closedir($handle);
     }
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню