| 經驗交流 |
|
|---|---|
|
顯示檔案的最後更新時間 | |
問題說明 | |
| 當我們需要在網頁上顯示其「最後更新時間」時,可以透過 JavaScript 去取得 document 的 lastModified 屬性即可。如: | |
|
<script language="JavaScript"> document.write("Last modified: "); document.write(document.lastModified); </script> | |
| 結果: | |
| 您注意到了嗎?這個時間正是現在。再重新整理本頁面看看,您將會發現:該時間永遠是當時的時刻。這顯然不是我們所要的。 | |
| 為什麼會是如此呢?因為您所看到的網頁內容是由 PHP 即時編譯產生的,當您再重新整理本頁面時,PHP 又會即時編譯出本網頁的內容給您,所以 JavaScript 會認為這個頁面剛剛被修改過,是最「新鮮」的內容。 | |
我的做法 | |
| 為了呈現網頁「真實」的最後編修時間,我們可以改用下列的做法: | |
| 1. filemtime( ) | |
| 在 Filesystem functions 之中,有個 filemtime 函數,它可以用來取得指定檔案的最後更新時間。在取得時間資料之後,我們再利用 date( ) 來將該時間予以格式化。 | |
|
<? echo "Last modified: " . date("m/d/Y h:i:s", filemtime(__FILE__)); ?> | |
| 結果: | |
| Last modified: 06/20/2007 03:36:20 | |
| 程式中的 __FILE__ 是個常數,可以用來顯示本檔案的路徑。另外也能夠用 $_SERVER["DOCUMENT_ROOT"] 與 $PHP_SELF 這兩個環境變數來達到相同的效果。 | |
|
<? echo "Last modified: " . date("m/d/Y h:i:s", filemtime($_SERVER["DOCUMENT_ROOT"] . $PHP_SELF)); ?> | |
| 結果: | |
| Last modified: 06/20/2007 03:36:20 | |
|
2. getlastmod( ) | |
| 在 PHP options & information functions 之中,另外有個 getlastmod 函數,它也可以用來取得指定檔案的最後更新時間。 | |
|
<? echo "Last modified: " . date("m/d/Y h:i:s", getlastmod()); ?> | |
| 結果: | |
| Last modified: 06/20/2007 03:36:20 | |
| 經驗交流 |
|


問題說明