簡體   English   中英

PHP readir結果-嘗試按創建的日期排序,並刪除“。”和“ ..”

[英]PHP readir results - trying to sort by date created and also get rid of “.” and “..”

我有一個雙重問題。 第一部分:我從目錄中提取了一個不錯的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);
}

?>

雖然你可以將它們過濾掉*. ..手柄永遠是第一位的。 所以你可以把它們剪掉。 特別是如果使用更簡單的scandir()方法:

foreach (array_slice(scandir($dir), 2) as $filename) {

也可以使用glob("dir/*")隱式跳過點文件。 當它返回按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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM