2
我找不到为什么我的代码无法正常工作。我尝试通过表单上传图像并将其保存在目录中,但它不存在。对于测试,我确实在窗体上显示文件对象的回显,以显示文件和扩展名及其正确的名称,但未保存。Symfony图像上传
这里是我的代码:
形式:
class WgrajForm extends sfForm
{
public function configure()
{
$this->setWidgets(array(
'zdjęcie' => new sfWidgetFormInputFile(),
'nazwa' => new sfWidgetFormInput(),
));
$this->setValidators(array(
'zdjęcie' => new sfValidatorFile(array(
'mime_types' => 'web_images',
'path' => '/projektSymfony/web/images',
),array(
'mime_types' => 'Plik może być tylko zdjęciem'
)
),
'nazwa' => new sfValidatorString(array(), array('required' => 'pole wymagane')),
));
$this->getWidgetSchema()->setNameFormat('wgraj[%s]');
}
}
操作:
public function executeDodaj(sfWebRequest $request)
{
$this->form= new WgrajForm();
if ($request->isMethod('post'))
{
$this->form->bind(
$request->getParameter('wgraj'),
$request->getFiles('wgraj'));
if ($this->form->isValid())
{
$wgrane = $this->form->getValues();
$plik = $wgrane['zdjęcie'];
$pliknazwa = $wgrane['nazwa'];
$rozszerzenie = $plik->getExtension($plik->getOriginalExtension());
$plik->save('/projektSymfony/web/images/'.$pliknazwa.$rozszerzenie);
//$this->redirect('galeria/index');
}
}
}
这是'sfForm',所以它没有保存方法 – 1ed
@ 1ed好点。 – j0k