Keyboard input using command line PHP under Windows

Keyboard input using command line PHP under Windows

am 20.01.2008 23:26:41 von BDthatsme

I can't get any of the various examples of keyboard input to work
using command line PHP.

I have Windows XP Pro SP 2 and PHP 5.1.6 (cli) (built: Aug 23 2006
16:35:53).

I can't find any info about why it doesn't work, or a way that does
work. Any suggestions?

examples of attempted variations: (and I've tried others)

$psLine = fgets (STDIN, 1024); // phpa.php at http://david.acz.org/phpa/

stdin = fopen("php://stdin", "r"); // PHP_Shell-0.3.1
$l = fgets(stdin);

Re: Keyboard input using command line PHP under Windows

am 21.01.2008 06:19:32 von Norman Peelman

BDthatsme wrote:
> I can't get any of the various examples of keyboard input to work
> using command line PHP.
>
> I have Windows XP Pro SP 2 and PHP 5.1.6 (cli) (built: Aug 23 2006
> 16:35:53).
>
> I can't find any info about why it doesn't work, or a way that does
> work. Any suggestions?
>
> examples of attempted variations: (and I've tried others)
>
> $psLine = fgets (STDIN, 1024); // phpa.php at http://david.acz.org/phpa/
>
> stdin = fopen("php://stdin", "r"); // PHP_Shell-0.3.1
> $l = fgets(stdin);

Under Windows you have to hit to complete the input. Windows
does not support character by character entry/processing without
installing ncurses. Even then i'm not positive but I think so. Thing is
you'll have to compile it yourself. I have found it works out of the box
under Linux but have not done much testing.

--
Norman
Registered Linux user #461062

Re: Keyboard input using command line PHP under Windows

am 23.01.2008 02:08:42 von Daniel Klein

On Sun, 20 Jan 2008 14:26:41 -0800 (PST), BDthatsme
wrote:

>I can't get any of the various examples of keyboard input to work
>using command line PHP.
>
>I have Windows XP Pro SP 2 and PHP 5.1.6 (cli) (built: Aug 23 2006
>16:35:53).
>
>I can't find any info about why it doesn't work, or a way that does
>work. Any suggestions?
>
>examples of attempted variations: (and I've tried others)
>
>$psLine = fgets (STDIN, 1024); // phpa.php at http://david.acz.org/phpa/
>
>stdin = fopen("php://stdin", "r"); // PHP_Shell-0.3.1
>$l = fgets(stdin);

PHP variables must be prepended with a '$'. So change 'stdin' to
'$stdin' (in both places) and your last variation should work.

Daniel Klein