ユーザーがドライブから画像をアップロードできるようにしたい。ネットの周りの検索、ここで私が見つけたものです:画像をアップロードするためのフォームを作成する
形式:
class ImageForm extends BaseForm
{
public function configure()
{
parent::setUp();
$this->setWidget('file', new sfWidgetFormInputFileEditable(
array(
'edit_mode'=>false,
'with_delete' => false,
'file_src' => '',
)
));
$this->setValidator('file', new sfValidatorFile(
array(
'max_size' => 500000,
'mime_types' => 'web_images',
'path' => '/web/uploads/assets',
'required' => true
//'validated_file_class' => 'sfValidatedFileCustom'
)
));
}
}
アクション:
public function executeAdd(sfWebRequest $request)
{
$this->form = new ImageForm();
if ($request->isMethod('post'))
if ($this->form->isValid())
{
//...what goes here ?
}
}
テンプレート:
<form action="<?php echo url_for('@images_add') ?>" method="POST" enctype="multipart/data">
<?php echo $form['file']->renderError() ?>
<?php echo $form->render(array('file' => array('class' => 'file'))) ?>
<input type="submit" value="envoyer" />
</form>
symfonyはありませんエラーはスローされますが、何も転送されません。私は何が欠けていますか?
である。 @Manuでは、 "Jobeet" Practical Symfonyチュートリアルの第10章で、値をバインドする方法も含めて、これを行う方法の完全な例を見つけることができます。 [Propel](http://www.symfony-project.org/jobeet/1_4/Propel/en/10)または[Doctrine](http://www.symfony-project.org/jobeet/1_4/Doctrine/) ja/10) –
私はどこかで間違いをして、フォームが失敗したことを検証し、ファイルが必要であると言っています。 – Manu
あなたのウィジェットを投稿したものを見てください。あなたのウィジェットは 'file'で、あなたのバリデーターは' filename'です。あなたが選んだものと同じものでなければなりません。 – prodigitalson