ホームページ >バックエンド開発 >PHPチュートリアル >PHPで外部シェルを呼び出す方法まとめ

PHPで外部シェルを呼び出す方法まとめ

WBOY
WBOYオリジナル
2016-07-25 09:03:331052ブラウズ
  1. system("/usr/local/bin/webalizer/webalizer");
  2. ?>
コードをコピー

exec() プロトタイプ: string exec (string command [, string array [, int return_var]])

exec() 関数は system() と似ていますが、指定されたコマンドを実行しますが、結果は出力せず、結果の最後の行を返します。コマンド結果の最後の行のみを返しますが、2 番目のパラメーター配列を使用すると、配列の末尾に結果を 1 行ずつ追加することで完全な結果を取得できます。したがって、配列が空でない場合は、呼び出す前に unset() を使用して配列をクリアするのが最善です。第3パラメータは第2パラメータを指定した場合のみ、コマンド実行時のステータスコードを取得できます。

例:

  1. exec("/bin/ls -l");
  2. exec("/bin/ls -l", $res);
  3. #$res はデータであり、各要素は A結果を表す行
  4. exec("/bin/ls -l", $res, $rc);
  5. #$rc の値は、コマンド /bin/ls -l のステータス コードです。成功した場合、通常は 0 です
  6. ?>
コードをコピー

passthru() プロトタイプ: void passthru (string command [, int return_var])

passthru() はコマンドを呼び出すだけで結果は返さず、コマンドの実行結果をそのまま標準出力装置に直接出力します。したがって、 passthru() 関数は、pbmplus (元の画像のバイナリ ストリームを出力する、Unix で画像を処理するツール) のようなプログラムを呼び出すためによく使用されます。コマンド実行時のステータスコードも取得できます。

例:

  1. header("Content-type: image/gif");
  2. passthru("./ppmtogifhunte.ppm");
  3. ?>
コードをコピー


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