Zend framework ZendFramework Zend_Form_Element_File setDestination vs rename filter

Zend framework ZendFramework Zend_Form_Element_File setDestination vs rename filter,zend-framework,Zend Framework,代码表示Zend_Form_element_File::setDestination()已被弃用,因此无法使用重命名过滤器。但是,重命名过滤器当前使用的代码是,当设置路径时,只提供临时名称。原始文件名丢失 <?php $file = new Zend_Form_Element_File(); $file->setDestination('/var/www/project/public'); ?> vs 任何上载文件的解决方案,以便它保留原始文件名结构,但检查现有文件并

代码表示Zend_Form_element_File::setDestination()已被弃用,因此无法使用重命名过滤器。但是,重命名过滤器当前使用的代码是,当设置路径时,只提供临时名称。原始文件名丢失

<?php
$file = new Zend_Form_Element_File();
$file->setDestination('/var/www/project/public');
?>

vs



任何上载文件的解决方案,以便它保留原始文件名结构,但检查现有文件并附加_1.ext或_2.ext?

提交表单后,您可以检查
$\u文件['file\u element']['name']
检查现有文件,然后在调用以下命令之前在表单元素上设置重命名过滤器:


$form->getValues()/isValid()或$form->file\u element->receive()

上传后需要查询文件名,然后添加重命名过滤器。例如:

if ($form->file->isUploaded()) {
    $fileinfo = $form->file->getFileInfo();
    $filename = $fileinfo['file']['name'];
    $extn = pathinfo($filename,PATHINFO_EXTENSION);
    $uploadname = $this->_makeFilename($formData, $extn);
    $uploadfilepath = UPLOADED_FILES_PATH . '/' . $uploadname;
    $form->file->addFilter('Rename', $uploadfilepath);
    $receiveStatus = $form->file->receive();
}
if ($form->file->isUploaded()) {
    $fileinfo = $form->file->getFileInfo();
    $filename = $fileinfo['file']['name'];
    $extn = pathinfo($filename,PATHINFO_EXTENSION);
    $uploadname = $this->_makeFilename($formData, $extn);
    $uploadfilepath = UPLOADED_FILES_PATH . '/' . $uploadname;
    $form->file->addFilter('Rename', $uploadfilepath);
    $receiveStatus = $form->file->receive();
}