2010-03-17 7 views
0

코드는 Zend_Form_element_File :: setDestination()이 사용되지 않으며 이름 바꾸기 필터를 사용한다고 말합니다. 그러나 이름 바꾸기 필터는 현재 경로가 설정되면 임시 이름 만 제공되는 코드입니다. 원본 파일 이름이 유실되었습니다.ZendFramework Zend_Form_Element_File setDestination 대 ​​rename 필터

<?php 
$file = new Zend_Form_Element_File(); 
$file->addFilter('Rename', array('target' => '/var/www/project/public')); 
?> 

는 기존 파일의 원래 파일 이름 구조 그러나 검사를 보존하고 _1.ext 또는 _2.ext를 추가하도록 파일을 업로드하는 모든 솔루션 대

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

?

답변

0

양식을 제출 한 후에는 기존 파일에 대한 $_FILES['file_element']['name'] 검사를 검사 할 수 있습니다 다음을 호출하기 전에 양식 요소의 이름 바꾸기 필터를 설정 :

$form->getValues()/isValid() or $form->file_element->receive()합니다.

1

업로드 후 파일 이름을 쿼리 한 다음 이름 바꾸기 필터를 추가해야합니다. 예 :

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(); 
} 
관련 문제