23.4 Passwörter einlesen
Problem
Sie müssen einen String von der Kommandozeile lesen, so dass er beim Eingeben nicht wieder ausgegeben wird, beispielsweise beim Eingeben von Passwörtern.
Lösung
Unter Unix verwenden Sie /bin/stty, um das Echo von eingetippten Zeichen ein- oder auszuschalten:
// Das Echo abschalten. `/bin/stty -echo`; // Passwort lesen. $password = readline(); // Das Echo wieder einschalten. `/bin/stty echo`;
Unter Windows verwenden Sie w32api_register_function( )
, um _getch( )
von msvcrt.dll zu importieren:
// Die W32api-Erweiterung laden und _getch() registrieren. dl('php_w32api.dll'); w32api_register_function('msvcrt.dll','_getch','int'); while(true) { // Ein Zeichen von der Tastatur holen. $c = chr(_getch()); if ( "\r" == $c || "\n" ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.