我找不到我的代码无法正常工作的原因。我尝试通过表单上传图像并将其保存在目录中,但它不存在。对于测试,我从表单中对文件对象进行了回显,以显示文件名和扩展名及其正确,但不保存。
这是我的代码:
形式:
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');
}
}
}