tech.chakapoko.com
Home / PHP / ファイル操作

[PHP]外部プロセスを実行する

外部プロセスの出力を読み込む

次のコードは 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という文字列が書き込まれます。