コードが正しく機能しない理由がわかりません。フォームから画像をアップロードしてディレクトリに保存しようとしましたが、そこにありません。テストでは、フォームからファイルオブジェクトをエコーして、ファイルの名前と拡張子、およびその正しいものを表示しましたが、保存されませんでした。
これが私のコードです:
形:
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');
}
}
}