我有一个双重问题。第一部分:我从一个目录中提取了一个很好的pdf文件列表,并将一个名为download.php的文件附加到“href”链接,因此pdf文件不会尝试作为网页打开(它们会保存/保存为相反)。麻烦的是我需要按创建日期订购pdf文件/链接。我尝试了很多变化,但似乎没有任何作用!下面的脚本。我也想摆脱“。”和“..”目录点!关于如何实现所有这些的任何想法。单独来说,这些问题之前已经解决过了,但不是我附加的download.php场景:)
<?php
$dir="../uploads2"; // Directory where files are stored
if ($dir_list = opendir($dir))
{
while(($filename = readdir($dir_list)) !== false)
{
?>
<p><a href="http://www.duncton.org/download.php?file=login/uploads2/<?php echo $filename; ?>"><?php echo $filename;
?></a></p>
<?php
}
closedir($dir_list);
}
?>
答案 0 :(得分:1)
虽然您可以将其*过滤掉,但.
和..
句柄总是。所以你可以把它们剪掉。特别是如果您使用更简单的scandir()
方法:
foreach (array_slice(scandir($dir), 2) as $filename) {
还可以使用glob("dir/*")
隐式跳过dotfiles。因为它返回ctime的完整路径排序,所以也变得更容易了:
$files = glob("dir/*");
// make filename->ctime mapping
$files = array_combine($files, array_map("filectime", $files));
// sorts filename list
arsort($files);
$files = array_keys($files);