2014-07-18 106 views
-1

我正在編寫一個將腳本運行到CSV轉換的PHP腳本。我正在使用exec(),但我無法讓程序運行。我已經瀏覽了大部分關於這個主題的評論,但都無濟於事。PHP執行函數

<?php 
    $pXCExe="C:Program Files (x86)\XLS to CSV\xls2csv.exe"; 
    $pXLSFileName="C:\TestExcell\vaca.xls"; 
    $pOutFileName="C:\TestExcell\vca.csv"; 
    $olines=0; 
    $ecode=0; 

    echo $R = exec($pXCExe.' "'. $pXLSFileName. '" "'. $pOutFileName .'"'.'"'/silent''"'.'"/fields=pipe'"', $olines, $ecode); 

?> 
+0

我沒有收到錯誤,但文件從未轉換。 – user2643697

+0

你遺漏了很多代碼。例如,'$ pXCExe'是什麼,其他變量是什麼。另外,該命令是否可以在命令行上運行? –

+0

你確定你沒有收到錯誤嗎?也不在日誌中? –

回答

0

由於路徑程序包含空格,請確保您引用它在命令

$pXCExe = '"C:\Program Files (x86)\XLS to CSV\xls2csv.exe"'; 

和雙引號內的反斜槓被視爲轉義字符,所以對於$pXLSFileName$pOutFileName ,請不要使用雙引號:

$pXLSFileName = 'C:\TestExcell\vaca.xls'; 
$pOutFileName = 'C:\TestExcell\vca.csv'; 

或者如果要保留雙斜槓報價:

$pXLSFileName = "C:\\TestExcell\\vaca.xls"; 
$pOutFileName = "C:\\TestExcell\\vca.csv";