PHP exec()命令问题

时间:2011-07-07 06:04:58

标签: php command exec

在我的php页面上

我有这个exec函数将pdf转换为swf

  

EXEC('“C:\\程序   文件\\ \\ SWFTools pdf2swf.exe”   “C:\\程序   文件\\ \\ XAMPP的htdocs \\ \\系统\\日志报告\\ \\温度sample.pdf”   -o“C:\\ Program Files \\ xampp \\ htdocs \\ system \\ logs \\ reports \\ temp \\ sample.swf”   -f -T 9 -t -s storeallcharacters');

在我的 localhost 上它可以正常工作,但每当我将该功能放在另一台服务器上时,让我们说http://192.168.0.2:8888/system/它根本不转换pdf ...

请帮我解决这个问题......

感谢

2 个答案:

答案 0 :(得分:0)

PHP是服务器端的。 exec()仅适用于您服务器上的命令。使用exec()时,想象一下您的服务器并输入这些命令。我假设您的问题是您的服务器上没有程序C:\\Program Files\\SWFTools\\pdf2swf.exe,并且文件也没有。

答案 1 :(得分:0)

好的,我已经在这里解决了我的问题。让别人知道我做了什么;

这是我的代码

// First, I create a new .bat file using fopen

$ourFileName = "C:\\FILE\\PATH\\TO\\sample.bat";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");

// Then write the content in it with your pdf2swf.exe syntax to convert from PDF to SWF

fwrite($ourFileHandle, '"C:\\Program Files\\SWFTools\\pdf2swf.exe" "C:\\FILE\\PATH\\TO\\sample.pdf" -o "C:\\FILE\\PATH\\TO\\sample.swf" -f -T 9 -t -s storeallcharacters');

// Close the handle
fclose($ourFileHandle);

// After all above executed successfully, we now run the newly created .bat file using PHP exec() function.

exec('"C:\\FILE\\PATH\\TO\\sample.bat"');

我不知道是否有其他方法可以做到这一点但这对我有用

将Windows Server 2003与Apache 2和PHP 5.2结合使用