、水文学の一般的な機能のPHPを実行するために使用される要約します
A、システム()関数
(PHP 4、PHP 5、PHP 7)
-
介绍
:外部プログラムとディスプレイ出力を実行します -
说明
system( string $command[, int &$return_var] ) : string
システム()関数のCバージョンと同様に、この機能は、コマンドは、コマンドパラメータで指定され、その結果を出力実行します。
PHPがサーバーモジュールで実行されている場合、システム()関数は、出力の各行の完了後にしようとするだろう、出力キャッシュは、自動的にWebサーバーを更新します。
関数の実行後、コマンドは、端末のウィンドウに結果を印刷する
コマンドは、任意の処理をせずに使用パススルー()関数を生出力を取得する場合。
参数
コマンド
実行するコマンド。
return_var
return_varパラメータを提供する場合、外部コマンドは、ステータスがこの変数の実行後に設定されます返します。返回值
成功したコマンドは、失敗した場合にFALSEを出力の最後の行を返します。例
:
<?php
system('whoami');
?>
二、パススルー()関数
(PHP 4、PHP 5、PHP 7)
-
介绍
:外部プログラムを実行し、生の出力を表示します -
说明
passthru( string $command[, int &$return_var] ) : void
()関数は、exec、パススルー()関数と同様であり、外部コマンド(コマンド)を実行するために使用されています。ブラウザに直接転送されるバイナリデータ、及びニーズUnixコマンド出力を実行するとき、exec()またはシステム()関数を使用してこの機能を交換する必要があります。そのようなものとしては、直接画像ストリームのようなコマンド出力PBMPLUSを実行するために使用されてもよいです。設定することで、あなたは画像/ gif形式への出力画像のコンテンツタイプすることができますし、直接ブラウザにPHPスクリプトからPBMPLUSプログラム出力gifファイルを呼び出します。
参数
コマンド
実行するコマンド。
return_var
提供return_varパラメータのUnixコマンドの戻りステータスは、このパラメータのために記録される場合。返回值
戻り値なし。例
:
<?php
passthru('whoami');
?>
三、EXEC()関数
(PHP 4、PHP 5、PHP 7)
介绍
:外部プログラムを実行说明
exec( string $command[, array &$output[, int &$return_var]] ) : string
exec() 执行 command 参数所指定的命令。
参数
コマンド
実行するコマンド。
出力
出力パラメータが提供される場合、それは出力コマンドのアレイを充填する、出力アレイの行ごとに要素が充填されています。配列内のデータは、このような\ n文字として行の空白終わりが含まれていません。アレイは、既にいくつかの要素が含まれる場合、EXEC()関数は、配列の末尾に追加コンテンツであることに注意してください。あなたは、配列の最後に追加したくない場合は、配列の着信のexec()関数の前に()関数をリセットするには、unsetを使用します。
return_var
出力とreturn_varパラメータの両方が戻って、そのステータスコマンドは、この変数に書かれている場合。返回值
最後の行のコマンドの実行結果。あなたは、出力データのすべてが未処理取得する必要がある場合は、パススルー()関数を使用します。
あなたは、出力コンテンツ取得コマンドにしたい場合は、出力パラメータを使用してください。总结
:システムコマンドを実行しますが、それは自身の出力とエコー/印刷の例に沿っていません。
<?php
echo exec('whoami');
或将获取的数据传入一个数组
exec('ipconfig',$out);
var_dump($out);
?>
四、もしくはshell_exec
(PHP 4、PHP 5、PHP 7)
介绍
:シェル環境を通じて実行し、文字列の完全な出力が返されます。说明
shell_exec( string $cmd) : string
本函数同 执行操作符。
参数
cmdの
コマンドが実行されます。返回值
コマンド実行の出力。エラーが出力を生成しない、実行または処理中に発生した場合は、NULLが返されます。Note
エラーは、プロセス実行中に発生した場合に、またはプロセス値が正常に実行される処理により検出され、この関数が返すを使用することができない、したがって、出力、戻り値NULLを生成しません。あなたが実装プロセスの終了コードを確認する必要がある場合は、EXEC()関数を使用します。- 要約:機能も表示内容にエコー/印刷出力を使用する必要性と、EXEC()関数と同様に、システムコマンドを実行します
<?php
echo shell_exec('whoami');
?>
五、抗アポストロフィ: `
同じ機能もしくはshell_exec関数。
もしくはshell_execは、例えば、実際にはその変異体、およびもしくはshell_execを使用することです。
<?php
echo `whoami`;
?>
第六に、間の違い
(1)システムと判別パススルー
パススルーできるよう画像データとして出力するバイナリデータ、
(2)との差EXECもしくはshell_exec
Execでのみデータの最後の行、及び取得したデータは、完全なリターンもしくはshell_execことができ、取得したデータを返します
例
。
<?php
echo exec('ipconfig');
//echo shell_exec('ipconfig');
?>
注
:出力および戻り値が異なる、戻り値がメモリに格納され、必要なエコー/印刷出力が利用可能である、機能がコマンド体系、結果出力コマンドの後に実行される理由このようなシステムは、例えば、それが出力されないことが理解されるであろう戻り値(すなわち、彼はデータの最後の行を呼び出して)
2つのコード以下のコンパレータの出力を理解するために、例えば、その例に理解することができます。
<?php
system('whoami');
?>
と
<?php
echo system('whoami');
?>
また、あなたは最後の2行を見ることができ、比較することでipconfigやifconfigコマンドを使用することができます