12

phpファイルでexeファイルを実行し、ユーザーが特定のURLにアクセスしたときにexeファイルの内容を表示したい。php関数exec('abc.exe');を使用してexeファイルを実行しようとしています。しかし、空白のページしか表示されません。

誰もがそれを解決する方法やphpファイルからexeファイルを正しく実行する方法を知っていますか?よろしくお願いします。

4

5 に答える 5

11

php でオペレーティング システムにアクセスするには、次のようにします。

$answer = shell_exec("abc.exe");
echo $answer."</br>"; 

$answer 文字列には、abc.exe が出力または返す情報が含まれます。

場合によっては、explode() を使用してフォーマットする必要があります。

于 2012-09-03T16:54:34.193 に答える
4

PHP が Windows マシンで実行されている場合は、exe ファイルのみを実行できます。さらに、共有 hostig を使用している場合、ホスティング会社が exec コマンドを無効にしている可能性があります。

Windows マシンを使用している場合、'abc.exe' は現在のディレクトリまたは PATH にある必要があります。

出力をキャプチャするには、次を使用します。

exec( 'abc.exe', &$output);
echo $output;

エグゼクティブへのリンク

于 2012-09-03T16:55:56.500 に答える
1

この回答が遅れる可能性があることは承知していますが、PHP には Windows のタスク スケジューラで使用できる「ハック」があります。次のコードは動作し、IE だけでなくすべてのブラウザーで動作します。ただし、スケジュールされたタスクが「キューに入れられた」状態で実行されていない場合があることに気付いたので、アクセスしているプログラムがその時点で実行されない場合があることを警告する必要があります。しかし、コードは 100% 機能します...それは、タスクがタスク スケジューラでどのような状態にあるかの問題です...「実行中」または「キュー」のいずれかです。

<?php
function ex($command)
{
    shell_exec('SCHTASKS /F /Create /TN _law /TR "' . $command . '"" /SC DAILY /RU 
INTERACTIVE');
    shell_exec('SCHTASKS /RUN /TN "_law');
    shell_exec('SCHTASKS /DELETE /TN "_law" /F');
}
ex("C:/Windows/System32/notepad.exe");
?>
于 2020-05-24T08:33:20.363 に答える