我试图同时在一个表单中移动五个不同的文件,但只移动一个图像。我的数据库表中的每个文件名都有五列。上传的图像名称保存在数据库列中,但唯一的问题是只移动了一个文件而不是上传的所有文件。以下是代码:
//form isValid...
$post = $form2->getData();
$imageonetmp = $post["imageone"]["tmp_name"];
$imageonename = $post["imageone"]["name"];
$imagetwotmp = $post["imagetwo"]["tmp_name"];
$imagetwoname = $post["imagetwo"]["name"];
$imagethreetmp = $post["imagethree"]["tmp_name"];
$imagethreename = $post["imagethree"]["name"];
$imagefourtmp = $post["imagefour"]["tmp_name"];
$imagefourname = $post["imagefour"]["name"];
$imagefivetmp = $post["imagefive"]["tmp_name"];
$imagefivename = $post["imagefive"]["name"];
$filepath = $this->_dir.$imageonename;
$filepath = $this->_dir.$imagetwoname;
$filepath = $this->_dir.$imagethreename;
$filepath = $this->_dir.$imagefourname;
$filepath = $this->_dir.$imagefivename;
move_uploaded_file($imageonetmp, $filepath);
move_uploaded_file($imagetwotmp, $filepath);
move_uploaded_file($imagethreetmp, $filepath);
move_uploaded_file($imagefourtmp, $filepath);
move_uploaded_file ($imagefivetmp, $filepath);
/*set image names to db here*/
$entityManager->persist($autos);
$entityManager->flush();
希望有人可以提供帮助。
答案 0 :(得分:1)
您使用相同的变量名$ filepath来编写文件。这意味着您正在移动每个文件但覆盖之前的移动。
您应该使用不同的变量名称,例如$ filepath1,$ filepath2等......
或者
$ filepath =文件位置... 移动文件......
重复一遍。