我有这个脚本完成这项工作,但我需要做一些修改。
使用时会列出目录中的文件,但也会在顶部添加:
.
..
当然链接到上层目录。有没有办法不显示它们?
我需要做的其他事情:
<?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);
}
?>
答案 0 :(得分:0)
尝试下面这个,我没有把删除,因为你必须决定如何做到这一点,如将文件名传递回页面并检查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> | <? echo filesize($dir . $filename); ?> bytes | Modified: <? echo date("Y-m-d",filemtime($dir . $filename)); ?>
</p>
<?php
}
}
closedir($dir_list);
}
?>
答案 1 :(得分:0)
$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());
}
}