PHP Conference Nagoya 2025

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 は、nullable になりました。
add a note

User Contributed Notes 1 note

up
3
jonathan dot gotti at free dot fr
18 years ago
readline_write_history() doesn't take care of the $_SERVER['HISTSIZE'] value, here's an example on how to handle an history file in your apps taking care of user preferences regarding history size.

at the begining of your script:
<?php
$history_file
= $_SERVER['HOME'].'/.PHPinteractive_history';
# read history from previous session
if(is_file($history_file))
readline_read_history($history_file);
....
# your application's code
....
# put this at the end of yur script to save history and take care of $_SERVER['HISTSIZE']
if( readline_write_history($history_file) ){
# clean history if too long
$hist = readline_list_history();
if( (
$histsize = count($hist)) > $_SERVER['HISTSIZE'] ){
$hist = array_slice($hist, $histsize - $_SERVER['HISTSIZE']);
# in php5 you can replaces thoose line with a file_puts_content()
if( $fhist = fopen($history_file,'w') ){
fwrite($fhist,implode("\n",$hist));
fclose($fhist);
}
}
}
?>
To Top