이 양식은 확실히 sfValidatorFile를 사용합니다 :
$this->validatorSchema['image'] = new sfValidatorFile(array(
'required' => true,
'mime_types' => 'web_images',
));
이 검증 당신이 원하는 어디든지 저장 될 수있는 sfValidatedFile 인스턴스를 반환 (그것보다 더 안전 move_uploaded_file, 디렉토리에 파일 이름 ...)이 있는지 확인합니다. 액션에서
(또는 형태로, 당신은/필요가 원하는대로), 당신은 지금이 작업을 수행 할 수 있습니다
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind(
$request->getParameter($form->getName()),
$request->getFiles($form->getName())
);
if ($form->isValid())
{
$job = $form->save();
// Saving the file to filesystem
$file = $form->getValue('my_upload_field');
$file->save('/path/to/save/'.$job->getId().'/myimage.'.$file->getExtension());
$this->redirect('job_show', $job);
}
}
가 작동 방식을 볼 수 sfValidatedFile을 열 것을 주저하지 마십시오.
고마워요! 나는 다른 해결책으로 나왔지만, 당신은 훨씬 더 우아 해 보입니다. 테스트를 마치면 답변을 수락합니다. – Davide
늦어서 죄송합니다. 다시 답변 해 주셔서 감사합니다. :) – Davide