Eingabeaufforderung für die Befehlszeile in PHP

Schreibe ich ein Kommandozeilen-tool zu helfen, meine web-app. Es benötigt ein Kennwort, um eine Verbindung zum Dienst herzustellen. Ich würde gerne das Skript, um zu zeigen, eine Passwort-Abfrage, damit ich nicht haben, um es zu übergeben, als ein command line argument.

Das ist einfach genug, aber ich möchte es nicht echo das Passwort auf dem Bildschirm angezeigt, wie es eingegeben wurde. Wie kann ich dies mit PHP?

Bonus-Punkte für das tun es in reinem PHP (keine system('stty')) und ersetzt die Zeichen mit *.

EDIT:

Das Skript auf einem unix-artigen system (linux oder mac). Das Skript ist in PHP geschrieben und wird wahrscheinlich so bleiben.

Auch für die Aufzeichnung, die stty Weg, es zu tun ist:

echo "Password: ";
system('stty -echo');
$password = trim(fgets(STDIN));
system('stty echo');
//add a new line since the users CR didn't echo
echo "\n";

Ich würde es vorziehen, nicht die system() ruft dort.

Kommentar zu dem Problem
Welches OS wird die command-line Skript ausgeführt? Wird das Kommandozeilen-Skript in PHP geschrieben, oder die OS-batch-scripting-Sprache? Kommentarautor: Brendan Kidwell

InformationsquelleAutor der Frage Gary Richardson | 2008-10-09

Schreibe einen Kommentar