2016-02-15 7 views
5

In PHP, kann ich mit dem folgenden Code in der Eingabe eines Kommandozeilen-Programm lesenPHP: Hinzufügen von Pfeiltaste Unterstützung STDIN/Einzelzeichenverarbeitung

$stream = STDIN; 
$test = fgets($stream); 
echo $test; 

Diese für einfache Eingabe gut funktioniert. Allerdings, wenn ich versuche, so etwas wie eine Zurück-Pfeil-Taste zu verwenden, meine Shell sieht wie folgt aus

This is a test^[[D^[[D^[[D  

das heißt, die Pfeiltaste Escape-Sequenz von ^[[D an die Schale gesendet. PHP selbst wird mit den Pfeiltasten interpretieren - dh diese jedoch

This is a test^[[D^[[D^[[D^[[Dsecond test  

ausgeben wird diese

This is a second test 

inputing ich die Schale möchte „richtig“ (dh das tun, was ich denke, sie tun sollten , nicht wörtlich, was ich gesendet habe) interpretiere die Pfeiltasten so, dass sich der Einfügepunkt beim Tippen bewegt.

Ist das in PHP möglich? Mit einer Erweiterung? Ohne eine Erweiterung? Ich habe versucht, Variationen von fgets($stream, 1), aber es scheint wie PHP hängt nur, bis der Benutzer eine Enter-Taste eingibt.

+1

Jahre sind, dass ich es versuchen; Ich hoffe jemand hat eine Lösung! – fusion3k

Antwort