2014-12-09 85 views
1

我试图在php文件中执行批处理文件。我使用Apache服务器。 Itried使用FTP客户端以下的方法,但它不工作无法在php中执行批处理文件

PHP代码

echo shell_exec('download.bat'); 
echo exec('download.bat'); 
system ("cmd /c download.bat");//Also tried for exec and shell_exec 

批处理文件的下载代码

批处理文件

"c:\program files\coreftp\coreftp.exe" -s -O -site mysite -d /Export/*.* -p C:\wamp\www\file\txt 

如果我运行它在cmd中或直接运行那么它的工作正常,当我运行它的PHP它只是写或回声批处理文件的代码

download.bat文件位于同一文件夹中。

我也试着打简单的bat文件

start "link" "https://www.google.co.in/?gfe_rd=cr&ei=NzuIVI-FG6aG8Qef44CAAw" 

它也没有打电话来此bat文件

+0

它究竟如何_not working_ – RiggsFolly 2014-12-09 18:36:10

回答

0

你确定你的“download.bat”文件是在相同的路径为你的PHP脚本?

尝试使用绝对路径,这样

exec('C:\\MY\\PATH\\TO\\download.bat'); 
+0

是它在同一个文件夹,我试过这个但不工作? – kreya 2014-12-09 13:13:51

+0

尝试运行另一只只做'ECHO'的蝙蝠,以确定它是否来自你的蝙蝠或你的PHP脚本 – 2014-12-09 13:18:10

0

只需使用exec('download.bat');如果该文件是在同一目录中,但您需要确保的Apache有正确的权限来执行批处理文件即它应该运行在管理员帐户上。如果您使用的是Win7或更高版本,请查看如何在提升模式下运行程序。

+0

如何检查Apache有没有正确的权限?它的管理员帐户上运行。 – kreya 2014-12-09 13:20:33

+0

转到开始>运行> Services.msc并在服务列表中查找“Apache服务”,并检查它是否在具有管理权限的帐户下运行。 – 2014-12-09 13:29:25

+0

是的,它具有管理员权限 – kreya 2014-12-09 13:31:26