readline_list_history

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

readline_list_historyAuflistung der History

Beschreibung

readline_list_history(): array

Gibt die vollständige Kommandozeilen-History zurück.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Diese Funktion gibt ein Array der gesamten Kommandozeilen-History zurück. Die Elemente sind numerisch indiziert, beginnend bei Null.

add a note add a note

User Contributed Notes 2 notes

up
5
Anonymous
13 years ago
Note this function is only available when PHP is compiled with libreadline, not if it is compiled with libedit.

<?php
if (function_exists('readline_list_history')) {
 
$history = readline_list_history();
 
// ...
} else {
  echo
'Not supported by the compiled library.'.PHP_EOL;
}
?>
up
1
info () gaj ! design
7 years ago
I just noticed that all readline functions are available with my php.exe (PHP 7, Cygwin) except for this one. It would be nice to have it so duplicate lines can be screened.

So to emulate it, I keep a working copy of the history in an array (yeah, extra code/data, but there are ways to keep the history from getting too large).

Loading is like:

<?php
    readline_read_history
(HISTFILE);
   
$hist = file(HISTFILE,FILE_IGNORE_NEW_LINES);
   
array_shift($hist);
?>

Adding is like:

<?php
   
if (!in_array($line,$hist)) {
       
$hist[] = $line;
       
readline_add_history($line);
    }
?>

(One may want to just check the last entry being the same.)
To Top