PHP nasıl oluşturma tarihine göre dosyaları dahil etmek?

4 Cevap php

Ben aşağıdaki dizin yapısı içinde oluşturulan son 3 fileA bir parçasını içeren bir haber sayfası oluşturmak istiyorsanız:

Bu yüzden aşağıdaki dosyaları söylüyorlar sağlar:

/news.php /2010/the-latest-article.php /2009/some-long-article-name.php /2009/another-long-article-name.php /2009/too-old-article-name.php /2009/another-old-article-name.php

Ben sadece news.php çıkışına ilk 3 dosyaları dahil etmek istiyoruz.

4 Cevap

Php.net Gönderen:

foreach (glob("../downloads/*") as $path) { //configure path
    $docs[filectime($path)] = $path;
} ksort($docs); // sort by key (timestamp)

foreach ($docs as $timestamp => $path) {
    print date("d. M. Y: ", $timestamp);
    print '<a href="'. $path .'">'. basename($path) .'</a><br />'; 
}

Eğer, Windows'un üzerinde iseniz Ayrıca, filemtime daha iyi sonuçlar verebilir.

Eğer tarih ve saat (: mm: YYYY-AA-GG SS ss) ile dosya adlarını önek eğer sadece bunları alfabetik olarak sıralamak ve son üç alabilir. Aksi takdirde, Victor büyük bir cevabı vardır.

Sen http://php.net/manual/en/function.opendir.php ve readdir opendir kullanarak dosyaları bir dizin açmak alabilirsiniz http://www.php.net/manual/en/function.readdir.php

Daha sonra içine geçirilen dosya adının son tarihini değiştirebilir döndüren php fonksiyon filemtime http://php.net/manual/en/function.filemtime.php kullanabilirsiniz.

Yani hemen hemen ne yapacağını dizindeki tüm dosyalara bakmak ve (bir UNIX zaman damgası döndürür) filemtime dönüşü onları sipariş olduğunu. Onları (istediğiniz herhangi bir tür algoritma kullanarak) sipariş aldıktan sonra sadece ilk 3 sonuç.