[PHP] STDIN problemen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste tweakers,

In PHP ben ik al een tijdje druk bezig met het maken van een textbased webbrowsertje voor in de console. Nu wil ik graag toetsaanslagen als pageup, pagedown, pijl omhoog en pijl omlaag afhandelen maar ik zit met hetvolgende probleem:

Als ik gebruik maak van de STDIN op de volgende wijze:

PHP:
1
2
3
4
5
<?php
$handle = fopen('php://stdin', 'r');
$data = fread($handle, 100);
fclose($handle);
?>


Dan kan ik wel input lezen, maar moet ik iedere keer de Enter toets drukken voordat PHP de data ontvangt. Niet vreemd, maar in mijn geval wel heel onhandig. Weet iemand of, en zo ja hoe, dit anders kan?

.modbreak: php tags toegevoegd

[ Voor 9% gewijzigd door .oisyn op 04-03-2003 16:12 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

je moet stdin iig niet als een stream openen, want dan krijg je alleen maar character data en geen toets-aanslagen

maar ik heb geen idee welke dingen PHP daarvoor aanbiedt

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

misschien heb je iets aan ncurses
Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant using PHP from the command line

Acties:
  • 0 Henk 'm!

  • Arx
  • Registratie: November 2001
  • Laatst online: 16-11-2023

Arx

Two Thoughts Ahead!

Verwijderd schreef op 04 March 2003 @ 16:11:
Beste tweakers,

In PHP ben ik al een tijdje druk bezig met het maken van een textbased webbrowsertje voor in de console. Nu wil ik graag toetsaanslagen als pageup, pagedown, pijl omhoog en pijl omlaag afhandelen maar ik zit met hetvolgende probleem:

Als ik gebruik maak van de STDIN op de volgende wijze:

PHP:
1
2
3
4
5
<?php
$handle = fopen('php://stdin', 'r');
$data = fread($handle, 100);
fclose($handle);
?>


Dan kan ik wel input lezen, maar moet ik iedere keer de Enter toets drukken voordat PHP de data ontvangt. Niet vreemd, maar in mijn geval wel heel onhandig. Weet iemand of, en zo ja hoe, dit anders kan?

<span style="color:blue;">.modbreak: php tags toegevoegd</span>
Een webbrowser maken van een webbased scripting language? (ok, inderdaad php pagina's worden gecompiled)

Goed, waarom doe je het niet mee javascript? read key event?

Suc6! Post ook even screens als je hebt, ik ben erg benieuwd wat je bedoelt! :)

Copywight 2000,2001,2002,2003,2004,2005,2006,2007 Arx. All wights wesewved. | PS Network tag -> Arx_nl


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NCurses zou boeiend kunnen zijn, maar weet iemand ook voorbeelden te vinden?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Arx schreef op 04 March 2003 @ 16:22:
Goed, waarom doe je het niet mee javascript? read key event?


javascript kun je ook zo lekker vanaf de commandline runnen ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • wica
  • Registratie: Februari 2002
  • Laatst online: 21-02 09:21

wica

De duivel jacht op me

Waarschijnlijk heb je hier wat aan.
http://www.php.net/manual/en/ref.readline.php
lees wat de users te zeggen hebben :)

RFC | The Linux Document Project | gentoo.


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 18:07

TheDane

1.618

.oisyn schreef op 04 maart 2003 @ 16:34:

[...]


javascript kun je ook zo lekker vanaf de commandline runnen ;)
dan voer je 't toch in je browser uit :X :+

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit lijkt te werken:

ncurses_init();
$char_code = ncurses_getch();
ncurses_end();

Het systeem wacht dan op 1 enkele keypress. Jammer alleen dat NCurses niet beschikbaar is voor win32, wat mijn app dus direkt beperkt tot een paar platforms


WICA: Kan jij vertellen welke reactie jij bedoelde? Ik snap je verwijzing niet...

[ Voor 16% gewijzigd door Verwijderd op 04-03-2003 16:44 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Er zit toch (experimentele) win32 api support in PHP, ik heb nog niet gekeken maar ik kan me voorstellen dat er een api is voor het afvangen van keypresses....
Pagina: 1