/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
stdin flush?
Fra : Andreas Hjordt


Dato : 06-01-02 22:36


Efter et gennem løb af nedenstående while loop modtager jeg følgende
fejlmeddelse indtil jeg afslutter processen:
<b>Warning</b>: fopen("php://stdin","r") - Bad file descriptor in
<b>./calc.php</b> on line<b>15</b><br>

Pointen er at rstdin() kun stopper for input en gang (jeg ved godt at der
ikke er nogen exit mulighed.). Skal jeg flush en eller anden buffer eller
sådan noget?
Jeg er ikke så meget for at bruge ncurses, da jeg ikke lige har mulighed for
at installere de libs.

mvh
Andreas Hjordt



1 #! /usr/local/bin/php -q
2 <?
3 while(true)
4 {
5 echo("> ");
6
7 $expr = rstdin();
8 echo($expr . "\n");
9
10 }
11
12
13 function rstdin($length = 255)
14 {
15 // $fp = @fopen("php://stdin", "r");
16 $fp = fopen("php://stdin", "r");
17 if($fp)
18 {
19 $tmp = fgets($fp, $length);
20 fclose($fp);
21 return(trim($tmp));
22 }
23 else
24 {
25 return(false);
26 }
27 }
28 ?>




 
 
Morten Winther (06-01-2002)
Kommentar
Fra : Morten Winther


Dato : 06-01-02 23:54


"Andreas Hjordt" <ahj@SPAMOFF_trition.dk> wrote in message
news:3c38c362$0$265$edfadb0f@dspool01.news.tele.dk...
>
> Efter et gennem løb af nedenstående while loop modtager jeg følgende
> fejlmeddelse indtil jeg afslutter processen:
> <b>Warning</b>: fopen("php://stdin","r") - Bad file descriptor in
> <b>./calc.php</b> on line<b>15</b><br>


Har du prøvet...

$fp = @fopen("/dev/stdin", r);
if ($fp > 0) {
while (!feof($fp)) {
....

/ morten






Christian Schmidt (07-01-2002)
Kommentar
Fra : Christian Schmidt


Dato : 07-01-02 00:22

Andreas Hjordt wrote:
>
> Efter et gennem løb af nedenstående while loop modtager jeg følgende
> fejlmeddelse indtil jeg afslutter processen:
> <b>Warning</b>: fopen("php://stdin","r") - Bad file descriptor in
> <b>./calc.php</b> on line<b>15</b><br>

Prøv at undlade at åbne og lukke stdin mere end én gang. Når først, du
har lukket stdin, tror jeg ikke, du kan åbne den igen.


Christian

Andreas Hjordt (07-01-2002)
Kommentar
Fra : Andreas Hjordt


Dato : 07-01-02 05:47

"Christian Schmidt" <christian@schmidt.net> wrote in message
news:3C38DC0C.3CAE2C26@schmidt.net...
> Andreas Hjordt wrote:
> >
> > Efter et gennem løb af nedenstående while loop modtager jeg følgende
> > fejlmeddelse indtil jeg afslutter processen:
> > <b>Warning</b>: fopen("php://stdin","r") - Bad file descriptor in
> > <b>./calc.php</b> on line<b>15</b><br>
>
> Prøv at undlade at åbne og lukke stdin mere end én gang. Når først, du
> har lukket stdin, tror jeg ikke, du kan åbne den igen.

Takker lige hvad jeg manglede.

mvh
Andreas Hjordt




Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste