|
| 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
| |
|
|