0

我已经为这个问题苦苦挣扎了几个小时,并且完全不知道如何正确地转义我的语法以便在我的 Program Files 目录中的文件上运行 PHP 的 shell_cmd() 函数。

这是我当前的代码:

$send_cmd="\C:\imagemagick\convert\" \"c:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\med_forms\\pdf\\tmppdf\\f-$time\\mf_pdf-$time-$file_num.html c:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\med_forms\\pdf\\tmppdf\\f-$time\\mf_pdf-$time-$file_num.pdf\"";

echo shell_exec($send_cmd);

我正在尝试执行类似于以下的命令:

 shell_cmd("C:\imagemagick\convert C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\med_forms\test.html C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\med_forms\test.pdf");

PHP 具有所有适当的文件夹权限,并且在处理没有空格的文件夹结构时,此命令可以正常工作。如何正确转义“程序文件”文件夹结构中的空格以执行命令?

我尝试使用 %20 表示空格、双反斜杠 (\) 和现在的“\”。我哪里错了?非常感谢任何输入。

4

1 回答 1

0

根据您的代码,我发现要实施以下建议或更改

  1. 将 Imagemagick 放入环境路径变量并检查它是否也可以通过命令提示符执行

  2. 只写“转换”而不是在脚本中给出 imagemagick 的路径

  3. 尝试为 Windows 执行命令“exec”而不是“shell_cmd”[很多时候 shell_cmd 不在 Windows 服务器上执行]

还要根据 WAMP 服务器或项目文件夹更改 html 和 pdf 的路径。

愿这对你有帮助.... :)

于 2013-01-30T08:10:55.190 回答