php的標准輸入與輸出是什么?
一、總結
php的標准輸入與輸出(STDIN是一個文件句柄,等同於fopen("php://stdin", 'r'))
1、STDIN是一個文件句柄,等同於fopen("php://stdin", 'r')
二、php的標准輸入與輸出
<?php // ask for input fwrite(STDOUT, "Enter your name: "); // get input $name = trim(fgets(STDIN)); 接收用戶輸入 // write input back fwrite(STDOUT, "Hello, $name!"); ?>
運行方法:
1.運行cmd
2.跳至php.exe所在目錄
3.敲入命令
還是用腳本來說話:
運行:php inouttest.php
運行結果為:
Enter your name: davy
Hello, davy!
其中:
常量 說明
STDIN 標准的輸入設備
STDOUT 標准的輸出設備
STDERR 標准的錯誤設備
可以在PHP腳本里使用這三個常量,以接受用戶的輸入,或者顯示處理和計算的結果。
PHP處理過程如下:fwrite()函數首先會向標准的輸出設備寫一條消息,詢問用戶的姓名。然后它會把從標准輸入設備獲得的用戶輸入信息讀取到一個PHP變量里,並它把合並成為一個字符串。然后就用fwrite()把這個字符串打印輸出到標准的輸出設備上
另舉兩例:
1 <?php 2 while($str = fread(STDIN,1000)){ 3 echo "you print:".$str; 4 } 5 ?> 6 7 8 9 <?php 10 //PHP CLI中,有三個系統常量,分別是STDIN、STDOUT、STDERR,代表文件句柄。 11 12 /** 13 *@ 標准輸入 14 *@ php://stdin & STDIN 15 *@ STDIN是一個文件句柄,等同於fopen("php://stdin", 'r') 16 17 */ 18 $fh = fopen('php://stdin', 'r'); 19 echo "[php://stdin]請輸入任意字符:"; 20 $str = fread($fh, 1000); 21 echo "[php://stdin]你輸入的是:".$str; 22 fclose($fh); 23 echo "[STDIN]請輸入任意字符:"; 24 $str = fread(STDIN, 1000); 25 echo "[STDIN]你輸入的是:".$str; 26 27 /** 28 *@ 標准輸出 29 *@ php://stdout & STDOUT 30 *@ STDOUT是一個文件句柄,等同於fopen("php://stdout", 'w') 31 */ 32 $fh = fopen('php://stdout', 'w'); 33 fwrite($fh, "標准輸出php://stdout/n"); 34 fclose($fh); 35 fwrite(STDOUT, "標准輸出STDOUT/n"); 36 37 /** 38 *@ 標准錯誤,默認情況下會發送至用戶終端 39 *@ php://stderr & STDERR 40 *@ STDERR是一個文件句柄,等同於fopen("php://stderr", 'w') 41 */ 42 $fh = fopen('php://stderr', 'w'); 43 fwrite($fh, "標准錯誤php://stderr/n"); 44 fclose($fh); 45 fwrite(STDERR, "標准錯誤STDERR/n");