外部プロセスの出力を読み込む
次のコードは ls
コマンドを実行してその結果を出力サンプルです。
popen
関数で外部プロセスへのファイルポインタを開き、そこから出力を読み込みます。
ファイルポインタは pclose
関数でクローズします。
$p = popen('ls', 'r');
while (($line = fgets($p)) !== false) {
echo $line;
}
pclose($p);
外部プロセスに入力を与える
外部プロセスからの出力を読み込むだけでなく、外部プロセスに入力を与えることもできます。
次のコードは cat
コマンドに入力を渡すサンプルです。
$p = popen('cat > test.txt', 'w');
fwrite($p, 'Hello');
pclose($p);
このコードを実行するとtest.txtにHelloという文字列が書き込まれます。