我希望php文件运行exe文件,并在用户转到特定网址时显示exe文件内容。我试图使用php函数exec('abc.exe');运行exe文件。但我只看到空白页面。
任何人都知道如何解决它或如何正确运行php文件中的exe文件?非常感谢提前。
答案 0 :(得分:8)
要使用php访问操作系统,请执行以下操作
$answer = shell_exec("abc.exe");
echo $answer."</br>";
$ answer字符串将包含abc.exe打印出来或返回的信息。
您可能需要使用explode()格式化它。
答案 1 :(得分:2)
如果你的php在Windows机器上运行,你只能运行exe文件。此外,如果您在共享主机上,您的主机可能已禁用exec命令。
如果您使用的是Windows计算机,则“abc.exe”必须位于当前目录或PATH中。
捕获输出用途:
exec( 'abc.exe', &$output);
echo $output;
链接到exec
答案 2 :(得分:1)
您可以在Windows中使用VaccinalBowl代码,但对于地址.exe文件,请参阅以下示例:
$answer = shell_exec("D://Downloads/software/npp.6.7.9.2.Installer.exe");
echo $answer."</br>";
答案 3 :(得分:1)
我知道这个答案可能晚了,但是php中有一个“ hack”,您可以在Windows中与Task Scheduler一起使用。以下代码不仅适用于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");
?>
答案 4 :(得分:0)
即使使用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>";
?>
网络上的最终结果