2011-07-07 117 views
-3

在我的PHP頁面PHP的exec()命令問題

我有這個執行函數將PDF轉換成swf

EXEC('「C:\\程序 文件\\ \\ SWFTools pdf2swf。 「Files \\ xampp \\ htdocs \\ system \\ logs \\ reports \\ temp \\ sample.pdf」 -o「C:\\ Program Files \\ xampp \\ htdocs \\ system \\ logs \\ reports \\ temp \\ sample.swf「 -f -T 9 -t -s storeallcharacters');

本地主機它的工作原理,但每當我把這個函數在其他服務器上,讓我們說http://192.168.0.2:8888/system/它不轉換的PDF格式在所有...

請幫我度過這次難關......

謝謝

+0

你的服務器上有相同的目錄和完整路徑嗎? –

+2

錯誤信息在哪裏?不'exec'返回錯誤?你爲什麼沒看php的錯誤日誌? -1不好解釋。 –

+0

在服務器上,腳本是這樣的 exec('「C:\\ Program Files \\ SWFTools \\ pdf2swf.exe」「C:\\ Program Files \\ Apache Software Foundation \\ Apache2.2 \\ htdocs \\ system \\ logs \\ reports \\ temp \\ sample.pdf「-o」C:\\ Program Files \\ Apache Software Foundation \\ Apache2.2 \\ htdocs \\ system \\ logs \\ reports \ \ temp \\ sample.swf「-f -T 9 -t -s storeallcharacters'); – Jhay

回答

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

0

PHP是服務器端。 exec()只適用於服務器上的命令。當使用exec()時,想象身體上在你的服務器上並輸入這些命令。我假設你的問題是你的服務器上沒有程序C:\\Program Files\\SWFTools\\pdf2swf.exe,並且文件也沒有。

+0

請看看這個圖片 http://imageshack.us/photo/my-images/202/execproblem.jpg/ 我已經通過命令提示符執行命令,這是一個成功...它將pdf轉換成我的服務器上的swf ... – Jhay

+0

現在@Oltarus是什麼? – Jhay

+0

對不起,我不知道。 – SteeveDroz