2014-07-18 4 views
-1

XLS에서 CSV로 변환하는 PHP 스크립트를 작성했습니다. exec()을 사용하고 있지만 프로그램을 실행할 수 없습니다. 나는이 주제에 관한 대부분의 의견을 소용 없다 보았다.PHP Exec 함수

<?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";