我的表单中有两个文件,我想给出单独的新名称。为此,我需要指定要更改的文件。
zend文档说明了这个
$upload->addFilter('Rename', 'C:\picture\uploads', 'file2');
文档未能说明'file2'是什么......实际文件的名称,输入字段的名称....
有人知道吗?
答案 0 :(得分:1)
// 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您还可以找到这个答案。
答案 1 :(得分: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
答案 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"]);