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 条注释

3
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