php在程序文件目录中使用shell_cmd

时间:2013-01-30 07:56:14

标签: php imagemagick wkhtmltopdf

我一直在努力解决这个问题几个小时,并且完全不知道如何正确地转义我的语法,以便在我的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具有所有正确的文件夹权限,并且在处理没有空格的文件夹结构时,此命令可以正常运行。如何正确转义“Program Files”文件夹结构中的空格以执行命令?

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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