class StudentForm extends BaseStudentForm
{
public function configure()
{
$this->widgetSchema['photo'] = new sfWidgetFormInputFile();
$this->validatorSchema['photo'] = new sfValidatorFile();
}
}
然後在action中修改檔案名稱
public function executeCreateStudent(sfWebRequest $request)
{
$this->form = new StudentForm();
if ($this->form->bindAndSave($request->getParameter('student'), $request->getFiles('student')))
{
$photo = $this->form->getValue('photo');
$photo->save(sfConfig::get('sf_web_dir').'/uploads/students/'.$photo->getOriginalName());
}
}
方法2:
class StudentForm extends BaseStudentForm
{
public function configure()
{
$this->widgetSchema['photo'] = new sfWidgetFormInputFile();
$this->validatorSchema['photo'] = new sfValidatorFile(array(
'path' => sfConfig::get('sf_web_dir').'/uploads/students',
));
}
}
然後在class中加入以下method,注意,method name Photo是field的名稱
class Student extends BaseStudent
{
public function generatePhotoFilename(sfValidatedFile $file)
{
return $this->getId().$file->getOriginalExtension();
//return $file->getOriginalName();
}
}
沒有留言:
張貼留言