我一直在努力解决这个问题几个小时,并且完全不知道如何正确地转义我的语法,以便在我的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表示空格,双反斜杠(\)和现在“\”。我哪里错了?任何输入都非常感谢。
答案 0 :(得分:0)
根据您的代码,我发现以下建议或更改将被实施
将Imagemagick放入环境路径变量并检查是否可以通过命令提示符执行
只写“转换”而不是在脚本中提供imagemagick的路径
尝试为Windows执行命令“exec”而不是“shell_cmd”[很多时候shell_cmd不会在Windows服务器上执行]
还可以根据WAMP服务器或项目文件夹更改html和pdf的路径。
愿这会对你有所帮助.... :)