Laravel 5.4上传多个图像并将文件名保存到数据库中

时间:2017-08-16 07:31:15

标签: php mysql laravel-5.4 save-image

我有关于在我的数据库中插入上传图像的文件名的问题。我的图片上传成功但是,在我的数据库中保存图像的文件名,我遇到了问题。当我执行我的代码时,只有一个图像文件名成功保存在我的数据库中。

这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    bean-discovery-mode="all"> 
</beans>

控制器:

<form action="{{ route('admin.pictures') }}" method="post" enctype="multipart/form-data">
<input required type="file" id="images" name="images[]" multiple />
</form>

我只复制了浏览互联网的代码。我需要循环插入表吗?因为当我尝试这个代码时,我选择了3个图像,并且三个图像成功上传,但第一个图像的文件名是唯一一个保存在我的数据库中的文件,我希望将3个图像文件名插入数据库。 / p>

1 个答案:

答案 0 :(得分:0)

$images[]=$name; 

这就是为什么只保存第一张图片的原因。 尝试计算已上传的图像数量和增量。

$i = 0; foreach($files as $file){ $name=$file->getClientOriginalName(); $file->move('image_files',$name); $images[$i++]=$name; }