PHP-CLI felhasználói adatbevitel


Üdv!
Aki fejleszt php-cli-re, valószínűleg beleütközött abba a problémába, hogy lehet a felhasználótól adatot bekérni. Sok nyelvben, például Python-ban ez egyszerű:

raw_input('Irj ide valamit: ')

Na de mi a helyzet a PHP-vel?

Két lehetőségünk van:
1: PHP-GTK – hátránya, hogy sok tudást igényel, külön kell bekompilálni és csak X felület alatt működik.
2: stdin (STandarD INput) – hátránya, hogy “kicsit gnóm”, de használható :)

Ez a funkció az utóbbit használja:

function input()
{
 @$stdin = fopen("php://stdin", "r");
 while (empty($got)) $got = @fgets($stdin);
 return trim($got);
}

Példa a használatára:

echo 'Írj be egy számot: ';
$num1 = input();
echo 'Írj be egy másik számot: ';
$num2 = input();
if (!is_numeric($num1) || !is_numeric($num2)) die ("Számot kértem\n");
$osszeg = $num1 + $num2;
echo "Összeg: ".$osszeg."\n";
Kapcsolódó bejegyzések:

A cikket beküldte: balintx (http://www.phoenixchat.hu/)

2 hozzászólás

  1. balintx says:

    Kiegészítés:
    Ha jelszót akarunk bekérni, az stty -echo paranccsal ki kell kapcsolnunk a visszhangot.
    Így:

  2. balintx says:

    Én kérek elnézést.
    http://hu.php.net/manual/en/function.readline.php

Szólj hozzá
a PHP-CLI felhasználói adatbevitel c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>