2013-10-11 52 views
1

我有兩個文件在我的表單中,我想給單獨的新名稱。爲此,我需要指定要更改的文件。Zend AddFilter重命名指定的文件只工作不起作用

了Zend文件說,這

$upload->addFilter('Rename', 'C:\picture\uploads', 'file2'); 

該文檔無法說什麼「文件2」是......的實際文件名,輸入字段的名稱....

有人知道嗎?

回答

0

發現我想通了,如何做到這一點。

這是以下形式:

<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"]); 
0
// Set a new destination path and limits it only to 'file2' 
$upload->addFilter('Rename', 'C:\picture\uploads', 'file2'); 

在這種情況下,第三個參數是驗證如果文件名 是file2的那麼它將覆蓋否則將在 文件夾中添加一個新的文件。第三個參數是文件名稱的過濾器類型。

你也可以這樣做:

$upload->addFilter('Rename', 
      array('target' => 'C:\picture\uploads', 
       'overwrite' => true)); 

更多例如看到它addFilter Rename ZendFramework您也說這是這個答案可以。

0

爲什麼不直接搜索方法簽名並在那裏檢查?

/** 
* Adds a new filter for this class 
* 
* @param string|Filter\FilterInterface $filter Type of filter to add 
* @param string|array   $options Options to set for the filter 
* @param string|array   $files  Files to limit this filter to 
* @return AbstractAdapter 
* @throws Exception\InvalidArgumentException for invalid type 
*/ 
public function addFilter($filter, $options = null, $files = null) 

Zend\File\Transfer\Adapter\AbstractAdapter