php でシステムとは何を意味しますか?

藏色散人
リリース: 2023-03-14 14:08:01
オリジナル
4773 人が閲覧しました

php の system 関数は、外部プログラムを実行して出力を表示するために使用されます。その使用構文は "system(string $command, int &$return_var = ?):string" のようなものです。この関数はコマンドを実行します。コマンドパラメータで指定したコマンドを実行し、実行結果を出力します。

php でシステムとは何を意味しますか?

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

php でシステムとは何を意味しますか?

system (PHP 4, PHP 5, PHP 7, PHP 8)

system — 外部プログラムを実行し、出力を表示します

説明

system(string $command, int &$return_var = ?): string
ログイン後にコピー

C 版の system() 関数と同様に、コマンドパラメータで指定されたコマンドを実行し、実行結果を出力します。

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

コマンドの生の出力を処理せずに取得したい場合は、 passthru() 関数を使用してください。

パラメータ

command
ログイン後にコピー

実行するコマンド。

return_var
ログイン後にコピー

return_var パラメータが指定されている場合、外部コマンド実行後の戻りステータスがこの変数に設定されます。

戻り値

成功した場合はコマンド出力の最後の行を返し、失敗した場合は falseを返します。

サンプル system() ルーチン

<?php
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
// 输出 shell 命令 "ls" 的返回结果
// 并且将输出的最后一样内容返回到 $last_line。
// 将命令的返回值保存到 $retval。
$last_line = system(&#39;ls&#39;, $retval);
// 打印更多信息
echo &#39;

Last line of the output: ' . $last_line . '
Return value: ' . $retval; ?>
ログイン後にコピー

コメント

ユーザーが提供したデータをこの関数に渡すときは、ユーザーがシステムをだまして任意のコマンドを実行するのを防ぐために、escapeshellarg() またはscapeshellcmd() を使用する必要があります。

注:

この関数を使用してプログラムを開始した場合、バックグラウンドで実行し続けるために、プログラムは出力をファイルまたは他の出力ストリームにリダイレクトする必要があります。そうしないと、プログラムの実行が終了するまで PHP がハングします。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp でシステムとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート