PHP Conference Japan 2024

getlastmod

(PHP 4, PHP 5, PHP 7, PHP 8)

getlastmod取得頁面最後修改時間

說明

getlastmod(): int|false

取得主要執行腳本的最後修改時間。

如果您想取得其他檔案的最後修改時間,請考慮使用 filemtime()

參數

此函式沒有參數。

回傳值

回傳目前頁面的最後修改時間。回傳的值是一個 Unix 時間戳記,適合傳入 date()。錯誤時回傳 false

範例

範例 #1 getlastmod() 範例

<?php
// 輸出例如 'Last modified: March 04 1998 20:43:59.'
echo "上次修改時間: " . date ("F d Y H:i:s.", getlastmod());
?>

另請參閱

新增註解

使用者提供的註解 5 則註解

luca dot delpivo at gmail dot com
12 年前
更精確地說,getlastmod() 會回傳呼叫它的腳本上次被修改的時間,它不需要也不使用任何參數。
Moro
12 年前
回傳所有 include 檔案中最新的修改時間

<?php
function get_page_mod_time() {
$incls = get_included_files();
$incls = array_filter($incls, "is_file");
$mod_times = array_map('filemtime', $incls);
$mod_time = max($mod_times);

return
$mod_time;
}
?>
Ant P.
14 年前
如果您在某些 SAPI 上使用 register_shutdown_function(),則 shutdown 函式內的各種檔案系統相關操作可能會產生非預期的結果,其中之一就是此函式可能會回傳 false。

另一方面,getlastmod() 顯然會快取回傳值,所以如果您在一般程式碼中至少使用它一次,它應該在剩餘的請求中都能正常運作。
rwruck
20 年前
除非您完全確定 Apache 和 PHP 都是使用相同的 -DFILE_OFFSET_BITS 值編譯的,否則不要使用此函式。

如果不是,由於 Apache 和 PHP 使用不同版本的 stat 結構,此函式將返回存取時間(或者甚至是垃圾數據),而不是修改時間。

無論 Apache 和 PHP 版本為何,都是如此。

為了安全起見,請始終使用下面已發布的解決方法
filemtime($_SERVER['SCRIPT_FILENAME'])
匿名
20 年前
設定「Last-Modified」標頭
<?php
setlocale
(LC_TIME, "C");
$ft = filemtime ('referencefile');
$localt = mktime ();
$gmtt = gmmktime ();
$ft = $ft - $gmtt + $localt;
$modified = strftime ("%a, %d %b %Y %T GMT", $ft);
?>
To Top