Zend addFilter 仅重命名单个文件


Zend addFilter rename single file only

我有一个上传表单,有两个文件输入。

我想重命名文件,以便每个文件都有一个唯一的名称。这是我的控制器中的内容

 public function mainAction()
    {
        $upload = new Zend_File_Transfer(); 
        $files = $upload->getFileInfo();
        foreach ($files as $file => $info) {
            $upload->addFilter('Rename', uniqid($file.'_').'.csv', $file);
        }
        $upload->receive();
     }

即使我在 setFilter 中将文件指定为最后一个参数,它也会同时重命名两个文件,以便它们最终具有相同的名称。

我想出了怎么做。

这是形式:

<input type="file" name="one">
<input type="file" name="two">

这进入控制器

       $renamefile1 = new Zend_Filter_File_Rename(array(
         'target'    => $path.'/file1.csv', // path to file
         'overwrite' => true
        ));
       //rename file 2 to file2
       $renamefile2 = new Zend_Filter_File_Rename(array(
         'target'    => $path.'/file2.csv', // path to file
         'overwrite' => true
        ));

       $names = $upload->getfileName();
       $file1 = $renamefile1->filter($names["one"]);
       $file2 = $renamefile2->filter($names["two"]);