ホームページ  >  記事  >  バックエンド開発  >  phpでLinuxのシステムコマンドを実行する方法の紹介

phpでLinuxのシステムコマンドを実行する方法の紹介

WBOY
WBOYオリジナル
2016-07-25 08:52:05927ブラウズ
  1. < ?php
  2. $last_line = system("ls", $retval);
  3. echo "出力の最後の行: " . $last_line;
  4. echo "
    戻り値: " . $retval;
  5. ?>
コードをコピー

関数 説明: 外部プログラムを実行します。 構文: string exec(string コマンド, string [配列], int [return_var]); 戻り値: 文字列

詳しい紹介: 外部プログラムまたは外部命令入力コマンドを実行する機能です。戻り文字列は、外部プログラムの実行後に返される最後の行のみです。完全な戻り文字列が必要な場合は、PassThru() 関数を使用できます。

パラメータ配列が存在する場合、コマンドはその配列をパラメータに追加して実行します。配列を処理したくない場合は、exec() を実行する前に unset() を呼び出すことができます。 return_var と配列パラメータの両方が存在する場合、コマンド実行後のステータスが return_var に設定されます。

ユーザーが入力したデータを処理し、ユーザーがシステムをクラックするためのトリックを行うのを防ぐ必要がある場合は、EscapeShellCmd() を使用できることに注意してください。

コード例:

  1. < ?php
  2. echo exec("whoami");
  3. ?>
コードをコピー

popen関数 説明: ファイルを開きます。 構文: int Popen(文字列コマンド, 文字列モード); 戻り値: 整数

詳しい紹介: この関数はファイルを開くコマンドを実行し、ファイルはパイプラインで処理されます。この関数で開かれたファイルは一方向 (読み取り専用または書き込み専用) のみであり、pclose() で閉じる必要があります。ファイル操作には、fgets()、fgetss()、および fputs() が使用できます。ファイルを開くときにエラーが発生した場合は、false 値が返されます。

コード例:

  1. < ?
  2. $fp = Popen( "/bin/ls", "r" );
  3. ?>
コードをコピー


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