/ / ZendFramework Zend_Form_Element_File setDestination vs rename filter - zend-framework

ZendFramework Zend_Form_Element_File setDestination vs rename filter - zend-framework

Kod mówi Zend_Form_element_File ::Metoda setDestination () jest przestarzała i używa filtra zmiany nazwy. Jednak filtr zmiany nazwy jest obecnie kodowany tak, że po ustawieniu ścieżki podana jest tylko nazwa tymczasowa. Oryginalna nazwa pliku jest tracona.

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

vs

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

Jakiekolwiek rozwiązanie do przesyłania plików, aby zachować oryginalną strukturę nazw plików, ale sprawdza istniejący plik i dołącza _1.ext lub _2.ext?

Odpowiedzi:

0 dla odpowiedzi № 1

Po przesłaniu formularza możesz sprawdzić $_FILES["file_element"]["name"] sprawdź istniejące pliki, a następnie ustaw filtr zmiany nazwy w elemencie formularza przed wywołaniem:

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


1 dla odpowiedzi nr 2

Po przesłaniu zapytania musisz podać nazwę pliku, a następnie dodać filtr Zmień nazwę. Na przykład:

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();
}