PHP执行函数

PHP执行函数,php,csv,xls,Php,Csv,Xls,我正在编写一个PHP脚本,它将运行XLS到CSV的转换。我正在使用exec(),但无法让程序运行。我已经浏览了关于这个话题的大部分评论,但没有任何结果 <?php $pXCExe="C:Program Files (x86)\XLS to CSV\xls2csv.exe"; $pXLSFileName="C:\TestExcell\vaca.xls"; $pOutFileName="C:\TestExcell\vca.csv"; $olines=0;

我正在编写一个PHP脚本,它将运行XLS到CSV的转换。我正在使用
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);

?>

由于程序的路径包含空格,请确保在命令中引用:

$pXCExe = '"C:\Program Files (x86)\XLS to CSV\xls2csv.exe"';
双引号内的反斜杠被视为转义字符,因此对于
$pxlfilename
$pOutFileName
,不要使用双引号:

$pXLSFileName = 'C:\TestExcell\vaca.xls';
$pOutFileName = 'C:\TestExcell\vca.csv';
$pXLSFileName = "C:\\TestExcell\\vaca.xls";
$pOutFileName = "C:\\TestExcell\\vca.csv";
或者,如果要保留双引号,请退出反斜杠:

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

我没有发现错误,但文件从未被转换。你遗漏了很多代码。例如,
$pXCExe
是什么,其他变量是什么。另外,该命令在命令行上工作吗?您确定没有错误吗?也不在日志中?我将检查日志。实际上,我还没有让它在命令行上运行。我试试看$pXCExe是转换程序执行的路径。我已通过命令行-xls2cv.exe C:\TestExcell\mts.xlsx C:\TestExcell\/OPEN=1/SILENT/FIELDS=PIPE使其运行