※ ChatGPTを利用し、要約された質問です(原文:はじめまして。osamuと申します。)
PHPでsystem関数を利用してシェルコマンドを実行する際の注意点
このQ&Aのポイント
PHPでsystem関数を利用してシェルコマンドを実行した際に出力される文字列を制御する方法について説明します。
system関数を使用すると、実行結果がブラウザに出力されることがあります。出力される文字列を表示させないようにする方法と、変数に結果を格納する方法があります。
system関数の戻り値についても説明します。成功した場合は0が返り、失敗した場合には0以外の値が返ります。
はじめまして。osamuと申します。
PHPでsystem関数を利用してシェルコマンドを実行した際に自動的に出力される文字列をコントロールするにはどうしたらよいでしょうか?
例えば、シェルのzipコマンドなど非常に便利なのですが、
<?
system("zip -r test.zip test");
?>
というものを実行すると特にvar_dumpしているわけでもないのに実行結果がブラウザーに「updating: test/ (stored 0%) updating: test/readme.txt (deflated 34%) updating: test/files/ (stored 0%) updating: test/form.html (deflated 37%) updating: test/upload.php (deflated 54%)」という風に出力されてしまいます。
system関数の戻り値も他の関数と違うようでして成功時と失敗時の区別がなかなかできません。
やりたいこと、知りたいことは、
・自動的に出力される文字列を制御したい(表示されないようにする、や、変数に入れて河口する。)ということと、
・system関数の戻り値
です。
詳しい方がらしたらご教授ねがいます。