Отображение даты и размера файла - PullRequest
0 голосов
/ 19 февраля 2011

У меня есть этот скрипт, который выполняет эту работу, но мне нужно несколько модификаций.

При использовании он перечисляет файлы в каталоге, но также добавляет вверху:

.
..

который, конечно, связан с верхними каталогами.Есть ли способ не отображать их?

Другие вещи, которые мне нужно сделать:

  1. Отображение даты файлов
  2. Отображение размерафайлы
  3. У каждого файла есть ссылка для удаления
<?php

$dir="../files/uploads/" . $_GET["id"]; // Directory where files are stored

if ($dir_list = opendir($dir))
{
while(($filename = readdir($dir_list)) !== false)
{
?>
<p>
    <a href="<?php echo $_GET["id"] . "/" . $filename; ?>"><?php echo $filename; ?></a> 
</p>
<?php
}
closedir($dir_list);
}

?>

Ответы [ 2 ]

0 голосов
/ 19 февраля 2011
$dir = '../files/uploads/'.$_GET['id'];
$dir_iterator = new FilesystemIterator($dir,FilesystemIterator::SKIP_DOTS );
foreach($dir_iterator as $file){
    if ($file->isFile()) {
        print_r( $file->getFilename());
        print_r( $file->getSize());
    }
}
0 голосов
/ 19 февраля 2011

Попробуйте это ниже, я не вставил удаление, так как вам нужно будет решить, как вы собираетесь это сделать, передавая имя файла обратно на страницу и проверяя Post / Get или что-то еще.Использовать unlink ($ dir. $ Filename);удалить файл.

<?php

$dir="../files/uploads/" . $_GET["id"]; // Directory where files are stored

if ($dir_list = opendir($dir))
{

while(($filename = readdir($dir_list)) !== false)
{

if($filename != "." && $filename != ".." ){
?>
<p>
<a href="<?php echo $_GET["id"] . "/" . $filename; ?>"><?php echo $filename; ?></a>     &nbsp;&nbsp; | &nbsp;&nbsp; <? echo filesize($dir . $filename); ?>&nbsp;bytes &nbsp;&nbsp;|&nbsp;&nbsp; Modified: <? echo date("Y-m-d",filemtime($dir . $filename)); ?>
</p>
<?php
}

}
closedir($dir_list);
}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...