我有兩個文件在我的表單中,我想給單獨的新名稱。爲此,我需要指定要更改的文件。Zend AddFilter重命名指定的文件只工作不起作用
了Zend文件說,這
$upload->addFilter('Rename', 'C:\picture\uploads', 'file2');
該文檔無法說什麼「文件2」是......的實際文件名,輸入字段的名稱....
有人知道嗎?
我有兩個文件在我的表單中,我想給單獨的新名稱。爲此,我需要指定要更改的文件。Zend AddFilter重命名指定的文件只工作不起作用
了Zend文件說,這
$upload->addFilter('Rename', 'C:\picture\uploads', 'file2');
該文檔無法說什麼「文件2」是......的實際文件名,輸入字段的名稱....
有人知道嗎?
發現我想通了,如何做到這一點。
這是以下形式:
<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"]);
// 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您也說這是這個答案可以。
爲什麼不直接搜索方法簽名並在那裏檢查?
/**
* 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