TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

【PHP】Windowsのbatファイルを実行する

なかなか使うことは少ないと思いますが、PHPからbatファイルを実行する
方法をメモっときます。

PHPの組み込みメソッドで「exec」という外部プログラムを実行するものがあります。
例えば、以下のように記載するとphpファイルと同階層にあるtest.batを実行できます。

exec("cmd.exe /c test.bat");

また、batにパラメータを渡すこともできます。
bat側では「%+数字」で左から順番にパラメータを取得できます。

※「%0」にはbatの名前が入るので、パラメータ自体は「%1」から始まります。

ーーPHP側ーー
exec("cmd.exe /c test.bat param1 param2");

ーーbat側ーー
echo %1 //"param1"を出力
echo %2 //"param2"を出力


クライアントからのリクエストパラメータを渡してbatを実行するといったこともできそうですね。。

exec("cmd.exe /c test.bat" ." " .$_POST["id"] ・・・);