2011-12-26 3 views
2

Я сделал сложную форму, которая действительна в действии. Я хотел бы получить значение от этого ввода, чтобы сохранить файл на сервере.Как получить значение из формы (symfony 1.4)

<input type="text" 
    name="produkty[pForm][1][caption]" 
    id="produkty_pForm_1_caption" /> 

Я пытался что-то вроде этого:

$this->form=new ProduktyForm(); 

if ($request->isMethod(sfRequest::POST)) 
{ 
    $this->form->bind($request->getParameter('produkty'),$request->getFiles('produkty')); 
    if ($this->form->isValid()) 
    { 
     $file=$this->form->getValue('produkty[pForm][1][src]'); 
     $filename='u'; 
     $extension = $file->getExtension($file->getOriginalExtension()); 
     $file->save(sfConfig::get('sf_upload_dir').'/'.$filename.$extension); 
    } 
} 

Но это не работает.

+0

«Это не работает», как правило, _always_ недостаточного описания ошибки. –

ответ

3

'produkty' - название вашей формы. Используете ли вы субформ для захвата массива возможных файлов для ввода?

Вы можете получить значения всей формы, выполнив это.

$form_vals = $this->form->getValues(); 

Тогда вы могли бы видеть, какие переменные у вас есть на выходе.

Возможно, вы сможете получить вход таким образом.

$caption = $form_vals['pForm'][1]['caption']; 

Это прекрасно работает, но как получить значения из атрибутов файлов. я не могу получить значения из входного файла моих главное имени формы слайд и Подчиненная дслайд

вот мой код

$this->multiSlideForm->bind($request->getParameter('slide'), $request->getFiles('slide')); 
$form_vals = $this->multiSlideForm->getValues(); 
echo $form_vals['mslide'][0]['slide_name']; //working 
echo $this->multiSlideForm->getValue('[mslide][0][file_name]')->getOriginalName(); //not working 
+0

Thx это работает! Веселого Рождества и счастливого Нового года ! – fantomas

+0

Вы приняли ответ? – richrosa

Смежные вопросы