我使用Zend Form和上傳文件。我需要爲它重命名和用戶addFilter。但是如果我試圖在代碼中獲得文件的擴展名,我會得到一個錯誤:「文件太多,最大'1'但允許'2'。如果我嘗試使用$ _FILES獲得擴展名,它看起來可以解決,但看起來很難看。你能告訴我如何重命名文件保存它的擴展名?Zend_Form_Element_File重命名文件保存擴展名
$form = new Form_ImportSubscribers();
if ($this->getRequest()->isPost()) {
$formData = $this->getRequest()->getPost();
if ($form->isValid($formData)) {
//it looks like it works but it's ugly solution
// $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
//causes an error "Too much files, maximum '1' are allowed but '2' are given"
$extension = pathinfo($form->file->getFileName(), PATHINFO_EXTENSION);
$form->file->addFilter('Rename', $accountId . '_' . time() . '.' . $extension);
if (!$form->file->receive()) {
$this->view->form = $form;
$this->view->listName = $list->list_name;
return;
}
你能告訴哪一行代碼拋出了這個錯誤嗎? – emaillenin 2011-03-08 12:17:56
如果我使用這一行,那麼驗證器在我嘗試上載文件時無法驗證。 – Oleg 2011-03-08 16:12:10
我發現類似的問題類似的鏈接http://framework.zend.com/issues/browse/ZF-7851?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel。 – Oleg 2011-03-08 16:36:34