Php 对文件夹中的所有文件执行命令的脚本

Php 对文件夹中的所有文件执行命令的脚本,php,nginx,exec,Php,Nginx,Exec,我是Freebsd/nginx的新手,所以类似的QAs对我没有帮助;( 我在运行一个代码: $ext = pathinfo ($_FILES['rawexcel']['name'][$i], PATHINFO_EXTENSION); //get extension of file, run different converters depending on extension if ($ext == 'xlsx' ) { exec("/usr/local/bin/cnvt /var/t

我是Freebsd/nginx的新手,所以类似的QAs对我没有帮助;( 我在运行一个代码:

$ext = pathinfo ($_FILES['rawexcel']['name'][$i], PATHINFO_EXTENSION);

//get extension of file, run different converters depending on extension
if ($ext == 'xlsx' ) {   exec("/usr/local/bin/cnvt   /var/tmp/xls/result.xlsx  /var/tmp/result.csv "); } 
else 
if ($ext == 'xls' ) {   exec("/usr/local/bin/xls2csv -x /var/tmp/xls/result.xls* -b WINDOWS-1251 -c /var/tmp/result.csv -a UTF-8"); } 
/var/tmp/xls/
当我的文件名保持不变时(result.xls然后转换为result.csv)&我正在逐个处理文件;cnvtxls2cv是转换器。 现在我有了ajax上传,希望对文件夹中的所有文件执行exec命令,保留原始文件名。我尝试运行相同的代码,并将result.xls替换为*(star),但它不起作用

我所拥有的:

包含excel文件的文件夹tmp/xls

我想要的是:

将文件夹中的所有excel文件转换为.csv,保留其原始名称。 谢谢你的帮助


更新:为目录中的所有文件执行命令以创建/编辑脚本的最佳方法,在bash中对目录中的所有文件进行操作要容易得多。祝您好运。查看如何提取扩展名

$ext=pathinfo($_文件['rawexcel']['name'][$i],路径信息扩展名)

您可以查看,您将看到如何获取不带路径或扩展名的文件名:

$filename = pathinfo($_FILES['rawexcel']['names'][$i], PATHINFO_FILENAME);
然后你可以用这个

if ($ext == 'xlsx' ) {
    exec("/usr/local/bin/cnvt   /var/tmp/xls/$filename.xlsx /var/tmp/$filename.csv ");
} else if ($ext == 'xls' ) {
    exec("/usr/local/bin/xls2csv -x /var/tmp/xls/$filename.xls -b WINDOWS-1251 -c /var/tmp/$filename.csv -a UTF-8");
} 

你把
*
放在哪里了?大概在上面的代码中,你指的是
/var/tmp/xls/*.xls
(而不是
/var/tmp/xls/result.xls*
?)@Andy yes,exec(“/usr/local/bin/cnvt/var/tmp/xls/*.xlsx/var/tmp/”);不起作用请说明
$i
的来源。