Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File upload Symfony文件上传-“下载”;数组";存储在数据库中,而不是实际的文件名_File Upload_Symfony1_Doctrine_Symfony 1.4 - Fatal编程技术网

File upload Symfony文件上传-“下载”;数组";存储在数据库中,而不是实际的文件名

File upload Symfony文件上传-“下载”;数组";存储在数据库中,而不是实际的文件名,file-upload,symfony1,doctrine,symfony-1.4,File Upload,Symfony1,Doctrine,Symfony 1.4,我正在使用Symfony 1.4.4和Doctrine,我需要在服务器上上传一个图像 我已经这样做了数百次,没有任何问题,但这次发生了一些奇怪的事情:不是文件名存储在数据库中,而是字符串“Array” 以下是我正在做的: 以我的名义: $this->useFields(array('filename')); $this->embedI18n(sfConfig::get('app_cultures')); $this->widgetSchema['filename'] = ne

我正在使用Symfony 1.4.4和Doctrine,我需要在服务器上上传一个图像

我已经这样做了数百次,没有任何问题,但这次发生了一些奇怪的事情:不是文件名存储在数据库中,而是字符串“Array”

以下是我正在做的:

以我的名义:

$this->useFields(array('filename'));
$this->embedI18n(sfConfig::get('app_cultures'));

$this->widgetSchema['filename'] = new sfWidgetFormInputFileEditable(array(
      'file_src'  => '/uploads/flash/'.$this->getObject()->getFilename(),
      'is_image'  => true,
      'edit_mode' => !$this->isNew(),
      'template'  => '<div id="">%file%</div><div id=""><h3 class="">change picture</h3>%input%</div>',
    ));

    $this->setValidator['filename'] = new sfValidatorFile(array(
      'mime_types' => 'web_images',
      'path' => sfConfig::get('sf_upload_dir').'/flash',
    ));
在绑定我的参数之前,一切正常,
$request->getFiles($form->getName())
返回我的文件。 但是之后,
$form->getValue('filename')
返回字符串“Array”

你们中有人遇到过这种情况吗?或者你们看到我的代码有什么问题吗


编辑:我添加了一个事实,我正在嵌入另一个表单,这可能是问题所在(请参阅上面的表单代码)。

好的,我知道了。我没有正确地声明我的验证器

我应该做的是:

$this->setValidator('filename', new sfValidatorFile(array(
  'mime_types' => 'web_images',
  'path' => sfConfig::get('sf_upload_dir').'/flash',
)));

愚蠢的错误,我希望能帮助那些有同样问题的人。

或者你可以使用

$this->validatorSchema['filename']
代替

$this->setValidator['filename']

谢谢,这非常有帮助…因为我遇到了相同的问题,并且在使用您的版本时得到了修复…:D:P在使用
validatorSchema
时,我遇到了问题…当我使用上述答案版本时,问题得到了解决。。!
$this->setValidator['filename']