PHP Conference Japan 2024

readline_write_history

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

readline_write_history寫入歷史記錄

說明

readline_write_history(?string $filename = null): bool

此函式將命令歷史記錄寫入檔案。

參數

filename

儲存檔案的路徑。

回傳值

成功時返回 true,失敗時返回 false

更新日誌

版本 說明
8.0.0 filename 現在可以為空值。
新增筆記

使用者貢獻的筆記 1 則筆記

jonathan dot gotti at free dot fr
18 年前
readline_write_history() 並未處理 $_SERVER['HISTSIZE'] 值,以下是如何在您的應用程式中處理歷史記錄檔案並考慮使用者關於歷史記錄大小偏好的範例。

在您的程式碼開頭
<?php
$history_file
= $_SERVER['HOME'].'/.PHPinteractive_history';
# 從上一個工作階段讀取歷史記錄
if(is_file($history_file))
readline_read_history($history_file);
....
# 您的應用程式程式碼
....
# 將此程式碼放在程式碼結尾以儲存歷史記錄並處理 $_SERVER['HISTSIZE']
if( readline_write_history($history_file) ){
# 如果歷史記錄過長,則清除
$hist = readline_list_history();
if( (
$histsize = count($hist)) > $_SERVER['HISTSIZE'] ){
$hist = array_slice($hist, $histsize - $_SERVER['HISTSIZE']);
# 在 php5 中,您可以使用 file_puts_content() 取代這些程式碼
if( $fhist = fopen($history_file,'w') ){
fwrite($fhist,implode("\n",$hist));
fclose($fhist);
}
}
}
?>
To Top