PHP Input/Output streams

PHP:7.2

通常在處理一些批次的資料或小工具的操作,都會直接使用串流的機制處理,以下就簡單介紹一下用法。

Usage

透過 STDIN 取得單行

> php test.php
This is my world
// This is my world
$line = trim(fgets(STDIN));

隱藏輸入的值

echo "Please Input Your Password:";
//關閉echo設定
exec("stty -echo");

$password = trim(fgets(STDIN));

//開啟echo設定
exec("stty echo");

echo $password . PHP_EOL;

串流輸入

cat email.list | ./test.php
// 開頭第一行記得加上 #!/usr/bin/php
while ($line = fgets(STDIN)) {
    $email = trim($line);
}
Categories: PHP