command で与えられたコマンドを fork() して実行し、そのプロセスへのパイプをオープンします。
fopen() により返されたファイルポインタと同様のものを返しますが、 それは(読み書きのいずれか一方でのみ使われる)片方向ストリームであり、 pclose() によりクローズされなければならないところが異なります。 このポインタは、fgets()、fgetss() および fwrite() のいずれかで使うことができます。
エラーが起こった場合 FALSE を返します。
注意: 双方向(two-way)のサポートを求めているのなら、 proc_open() を使用してください。
実行すべきコマンドが見つからない場合には、正常なリソースが返されます。 おかしなことと思われるかもしれませんが、これには意味があります。 これによってシェルから返されたエラーメッセージにアクセスすることができるのです。
<?php |
注意: セーフモード が有効な場合、 safe_mode_exec_dirの中にある実行プログラムのみ実行可能です。 実際的な理由により、現在、実行プログラムへのパスに ..を 含めることはできません。
警告 |
セーフモードが有効な場合、コマンド文字列は escapeshellcmd() でエスケープされます。 つまり、echo y | echo x は、echo y \| echo x となります。 |
pclose()、fopen()、 proc_open() も参照してください。