ホームページ  >  記事  >  バックエンド開発  >  phpコマンドの実行機能とは何ですか?

phpコマンドの実行機能とは何ですか?

(*-*)浩
(*-*)浩オリジナル
2019-09-23 09:04:279875ブラウズ

PHP には、system 関数、exec 関数、popen 関数、passthru、shell_exec 関数など、システム コマンドを実行するためによく使用される関数がいくつかあり、これらはすべてシステム コマンドを実行できます

phpコマンドの実行機能とは何ですか?

#Exec 関数

Exec 関数の構文は次のとおりです: (推奨学習: PHP プログラミングの入門から熟練度まで )

exec ( string $command [, array &$output [, int &$return_var ]] )
=
exec('ping 127.0.0.1',$output,$return_var)

この関数の機能は、コマンド パラメーターで指定されたコマンドを実行することです。コマンド実行後の値は出力値の最後の行であり、関数自体は何も出力しません。

String、array、int はパラメータのデータ型で、それぞれ string、array、integer です。

角括弧は、前のパラメータが存在する場合、角括弧内のパラメータを書き込めるかどうかを意味します。たとえば、$command パラメータが存在する場合、$output パラメータはオプションです。$output パラメータが存在しない場合、$return_var は表示できません。

Command: 実行するコマンド。

出力: 出力パラメーターが指定されている場合、この配列にはコマンド実行の出力が入力され、出力の各行が配列内の 1 つの要素に入力されます。配列内のデータには、\n 文字などの末尾の空白文字は含まれません。配列にすでにいくつかの要素が含まれている場合、exec() 関数はその内容を配列の末尾に追加することに注意してください。配列の末尾に追加したくない場合は、unset() 関数を使用して配列をリセットしてから、exec() 関数に渡します。

return_var: Output パラメーターと return_var パラメーターの両方が指定された場合、コマンド実行後の戻りステータスがこの変数に書き込まれます。コマンドの実行が成功した場合、ステータス コードは 0 になり、コマンドの実行が失敗した場合、ステータス コードは 1 になります。

システム関数

システム関数の構文は次のとおりです:

system ( string $command [, int &$return_var ] )
=
system('ping -c 127.0.0.1',$return_var)

システムの C バージョンと同じです。 () function,this コマンドパラメータで指定されたコマンドを実行し、実行結果を出力する関数です。コマンド実行後の戻り値は出力値の最後の行であり、関数自体もすべての出力値を出力します。

String と int はパラメータのデータ型で、それぞれ文字列と整数です。

PHP がサーバー モジュールで実行されている場合、system() 関数は、出力の各行の後に Web サーバーの出力キャッシュを自動的に更新しようとします。

Command: 実行するコマンド。

return_var: return_var パラメータが指定されている場合、外部コマンド実行後のリターン ステータスがこの変数に設定されます。コマンドの実行が成功した場合、ステータス コードは 0 になり、コマンドの実行が失敗した場合、ステータス コードは 1 になります。

パススルー関数

パススルー関数の構文は次のとおりです。

passthru ( string $command [, int &$return_var ] )
=
passthru('ping 12.0.0.1',$return_var)

String と int は、そのデータ型です。それぞれパラメータ、文字列と整数。関数自体はすべての出力値を出力しますが、値を返しません。

exec() 関数と同様に、 passthru() 関数も外部コマンドの実行に使用されます。実行されたシステム コマンドがバイナリ データを出力し、ブラウザに直接送信する必要がある場合は、exec() 関数または system() 関数の代わりにこの関数を使用する必要があります。

Command: 実行するコマンド。

return_var: return_var パラメータが指定されている場合、Unix コマンドの戻りステータスがこのパラメータに記録されます。

Shell_exec 関数

Shell_exec 関数の構文は次のとおりです。

$output=shell_exec ( string $cmd )
=
$output=shell_exec(`ping 127.0.0.1`)
=
$output=shell_exec("ping 127.0.0.1")

cmd は、実行するコマンドです。

String はパラメータのデータ型であり、文字列です。この関数は、すべての出力値を文字列入力として入力し、コマンドの実行が完了した後に値を返します。また、それ自体は情報を出力しません。

Shell_exec 関数の使用法はバックティックと同じです。通常の一重引用符 ('') の代わりにバックティック (``) が使用されることに注意してください。

以上がphpコマンドの実行機能とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。