web-dev-qa-db-ja.com

PHPを使用してabc.exeを実行する方法

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

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

9
ATZ

PHPでオペレーティングシステムにアクセスするには、次の操作を行います。

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

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

Explode()を使用してフォーマットする必要がある場合があります。

8
KennyBartMan

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

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

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

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

リンク exec

3
JvdBerg

WindowsではVaccinalBowlコードを使用できますが、アドレス.exeファイルについては、次の例を参照してください。

$answer = Shell_exec("D://Downloads/software/npp.6.7.9.2.Installer.exe");
echo $answer."</br>";
1

2&> 1(chmod 777でも)でもアクセス許可の問題が発生しましたが、ファイルに保存して出力を読み取ることで回避できます

例を参照してください、cs_cryptoは復号化するものです

<?php
$str = $_GET['pswd'];
$output = Shell_exec("echo $str");
echo "<pre><font color='white'>$output</font></pre>";
//$output = Shell_exec("echo ./cs_crypto de aesbase $str");
//$output = Shell_exec("./cs_crypto de aesbase $str 2>&1");
exec("./cs_crypto de aesbase $str > out");
$output = Shell_exec("tail -1 out");
//exec('./cs_crypto de aesbase $str', $output, $return_var);
//echo "<pre><font color='white'>$return_var</font></pre>";
echo "<pre><font color='white'>$output</font></pre>";
?>

Webでの最終結果

enter image description here

0
LinconFive