2012-01-07 29 views
0

我知道打開和讀取該文件與fopen功能類似這樣的內容的方式:與PHP的工作://標準輸入I/O流

@fopen("inputfile.txt", "r"); 

但隨着php://stdin我得到有點糊塗了

$in = fopen('php://stdin', 'r'); 

我應該在哪裏指定我嘗試讀取的txt文件的名稱?

+3

它是標準輸入;這是流,而不是文件。 – 2012-01-07 22:22:30

+0

也許你不明白標準輸入是什麼:http://en.wikipedia.org/wiki/Standard_streams#Standard_input_.28stdin.29 – 2012-01-07 22:27:36

回答

4

php://stdin用於CLI使用。那麼你不直接在PHP中指定文件名。它通常是從這樣的終端使用:

echo "input text" | php script.php 

cat textinput.txt | php do-something.php 

凡事你到解釋是從標準輸入讀取,當你收到了什麼。

順便說一句,你也可以只使用STDIN常量,而不需要先手動調用fopen

+0

我應該怎麼做,如果我想讀一個'txt'文件,那麼,請,我想要一個顯示使用這個的例子。 – Malloc 2012-01-07 22:28:01

+0

對於閱讀文件,請參閱我的第二個示例。您不要在PHP腳本中指定該文件,而是將其留給用戶和shell。這是STDIN的重點,允許來自未知來源的輸入。 - 我想維基百科曾經比以往更好地解釋這個概念:http://en.wikipedia.org/wiki/Standard_streams – mario 2012-01-07 22:29:48