好的,我有一個我正在工作的網站的概述。併爲每個網站我有一個PHP文件。並在該PHP文件中,我使用此代碼獲取文件的最新和最舊的日期是什麼,注意directroy中的圖片。inlcude目錄中的日期文件
$date = "test/*.*";
$files = array_filter(glob($date), function($file) {
$ext = substr($file, strrpos($file, '.'));
return !in_array($ext, array('.jpg', '.bit', '.png', '.jpeg', '.gif', '.bmp'));
});
$latest = count($files)-1 ;
array_multisort(
array_map('filemtime', $files),
SORT_NUMERIC,
SORT_ASC,
$files
);
$newestfile = date ("d F Y ", filemtime($files[0]));
$oldestfile = date ("d F Y ", filemtime($files[$latest]));
if($newestfile == $oldestfile) {
echo date ("d F Y ", filemtime($files[0]));
} else {
echo date ("d F Y ", filemtime($files[0]));
echo " - " ;
echo date ("d F Y .", filemtime($files[$latest]));
}
該代碼的輸出將如下所示:2013年1月16日 - 2013年10月25日。
在我的概述頁面中,我使用了一個代碼來將所有的php文件(我所做的網站)包含到該頁面中。 (順便說一句PHP文件並不大網頁只是一個圖片和一些文字。)
$listy = glob("sites/*.php");
print_r ($listy) ;
array_multisort(
array_map('filemtime', $listy),
SORT_NUMERIC,
SORT_DESC,
$listy
);
if (empty($listy)) {
include('includes/emptycontent.php');
} else {
foreach ($listy as $filename) {
include $filename;
}
}
這個陣列的輸出會是這樣的:
Array (
[0] => sites/test.php
[1] => sites/test2.php
[2] => sites/test3.php
到目前爲止好,在這方面沒有問題。
現在,我想排序包含的文件,而不是包含文件的時間,就像我在上面的代碼中所做的那樣。但我希望它能夠像PHP文件中的目錄中的文件的最新日期排序。所以實際上我想將這些代碼結合到一個。 所以我有一個稱爲測試的PHP文件。我想在目錄中的最新文件的日期也稱爲測試。這些名稱始終相同。
我以爲是使用第二個代碼的輸出,然後擺脫「sites /」和「.php」。這些名字必須在我想的陣列中。然後爲每個名稱獲取最新的文件並將其從最新到最舊排序。
我覺得這樣我得到的網站上,我最近工作的頂部和較舊的頁面底部。 也許我的問題是完全錯誤的,但我不知道如何在代碼中做到這一點。我希望你們能夠幫助我。
我認爲這是一個很好的方法。但我真的不知道如何在正確的代碼中做到這一點。對不起,我還不是一個很好的編碼器,我在代碼中犯了很多簡單的錯誤。 –