php的標准輸入與輸出是什么?


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");

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM