PHPでシェルコマンドを実行する方法

この投稿では、PHPでシェルコマンドを実行する方法について説明します。 このように、Linuxでフォルダ構造を検索するコマンドを手動で入力するのではなく、PHPを介してプログラム的にこれを行います。 PHP経由でシェルコマンドを実行する機能は強力な機能であり、慎重に使用する必要があります。

シェルコマンドを実行するためのPHP関数は、shell_exec(), exec() または system().

これらの関数は非常に似ていますが、若干の違いがあります。

  • shell_exec() は完全な出力を文字列として返します。
  • exec() は、実行されたコマンドの最終行を文字列として返します。 注意: プログラムの終了にアクセスする必要がある場合は、exec() を使用してください。 shell_exec() はプログラムの終了コード情報を提供しません。
  • system() は shell_exec() と似ていますが、出力を直接 (echo() や print() を使わずに) 表示します。

shell_exec() & exec() example:

これらのシェル関数は両方とも同様に動作します。 先に述べた違いに注意してください。

<?echo shell_exec("ls / -ltr");?>

Result:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

応答には改行の記号が含まれています。 str_replace(“\n”, “<BR>”, shell_exec(“ls / -ltr”)) を使って改行文字を HTML フレンドリーな BR に置き換える。

例:

total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64

system() 例:

システム()は PHP を介してシェルコマンドを実行するのにも使用されます。

<?system("ls / -ltr");?>

結果:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

PHPに関する他の記事はhttps://anto.onlineをご覧ください!

著者について

Antoの編集チームのメンバーは、それぞれがクラウドの専門家です。 アント・オンラインは、クラウドを愛する仲間を支援することに大きな誇りを感じています。 次のトピックの素晴らしいアイデアがあれば教えてください!

Support the Cause

Support Anto Online and buy us a coffee. コーヒーとコードがあれば何でも可能です。

Buy me a coffee

コメントを残す

メールアドレスが公開されることはありません。