我正在尝试将批处理嵌入php,但未执行

时间:2019-02-19 14:03:45

标签: php batch-file

因此,我正在尝试在网站(在本例中为php)中设置一个批处理可执行文件,以便它将某些文件直接下载到所需目录,而无需用户与其交互。基本上,计划是,如果有一个网站具有游戏的mods /游戏内版本/世界,则您希望将其直接下载到AppData中,而不必为手动将其从“下载”中移动而烦恼。 我正在使用Xampp localhost进行测试运行(我确实以admin身份运行了它。)

我在线搜索了如何在php中嵌入批处理,然后转到了这一点:

<?php
    exec("cd %AppData% && curl <LINK> -o <NAME>.<FILE_SUFFIX>");
?>

我尝试使用'system'而不是'exec',在命令前也添加了'cmd / c',但是两者都不起作用

此后,我尝试了另一种方法,只是为了进行测试

<?php
    exec("start batch.bat");
?>

使用此代码

@echo
cd %AppData% 
curl <LINK> -o <NAME>.<FILE_SUFFIX>
pause

哪个导致

'curl' is not recognized as an internal or external command, operable program or batch file.

我也尝试了绝对路径而不是相对路径,但是也没有积极的结果。

现在我不知道还有什么可以尝试的,并且是什么原因导致的。如果还有其他可行的方法可以实现上述目的,请也让我知道。

1 个答案:

答案 0 :(得分:1)

这是我现在正在使用的工作代码

<?php
    exec("bitsadmin /transfer myDownloadJob /download /priority high <LINK> <TARGET_LOCATION_FILE>");
?>

我仍然不知道为什么curl不起作用,但是由于bitsadmin是本机Windows命令,因此还是更好。感谢所有提供帮助的人!