У меня есть код контроллера следующим образом:
$form_company=new Project_Form_AddCompany();
$this->view->form=$form_company;
$form_company->setAction('add-Company');
if ($this->_request->isPost()) {
$formData = $this->_request->getPost();
if ($form_company->isValid($formData)) {
$company_name = $this->_getParam('company', 0);
echo $company_name;
// success - do something with the uploaded file
$uploadedData = $form_company->getValues();
$form_company->uploaded_file->addFilter(new Zend_Filter_File_Rename(array('target' => $company_name.'.jpg')));
Zend_Debug::dump($uploadedData, '$uploadedData');
//echo 'End: ';
}
// action body
}
Находясь в форме, я имею следующий код:
<?php
class Project_Form_AddCompany extends Zend_Form
{
public function init()
{
$company=new Zend_Form_Element_Text('company');
$company->setLabel('CompanyName')
->setRequired(true);
$com_des=new Zend_Form_Element_Textarea('com_des');
$com_des->setLabel('CompanyDescription')
->setAttrib('cols', '40')
->setAttrib('rows', '4')
->setAttrib('style', 'resize: none;')
->setRequired(true)
->addValidator('NotEmpty');
$com_addr=new Zend_Form_Element_Textarea('com_addr');
$com_addr->setLabel('CompanyAddress')
->setAttrib('cols', '40')
->setAttrib('rows', '4')
->setAttrib('style', 'resize: none;')
->setRequired(true)
->addValidator('NotEmpty');
$file = new Zend_Form_Element_File('uploaded_file');
$file->setDestination(PUBLIC_PATH . '/images/')
->setLabel('File')
->setRequired(true)
->addValidator('NotEmpty');
$submit = new Zend_Form_Element_Submit('submit');
$this->addElements(array($company,$com_des,$com_addr,$file,$submit));
}
}
Поскольку мне нужно переименовать загруженное изображение в $ company_name.png, поэтому я использую метод addFilter в контроллере, где $ company_name - это значение текстового поля компании (в форме), вводимого пользователем. Но имя не изменилось. переименовать Что нужно сделать ??