如何将多个文件(图像)名称发送到数据库,还可以获取用户上传的所有图像

时间:2016-12-23 09:43:21

标签: php mysql mysqli

我是php的新手。我有一个表格,用户可以在其中注册他的数据。     在这里我给了额外的选项,他也可以上传多个图像。多个图像正在上传到其路径。在这里,我想将他们的名字发送到数据库并获取用户上传的所有多个图像。

这是我的多个文件的代码。

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file[]" value="Upload">
<input type="submit" value="Submit" name="submit">
</form>
if (isset($_POST['submit'])) {
    $total = count($_FILES['file']['name']);

    for ($i=0; $i <$total; $i++) { 
        $tmpfile= $_FILES['file']['tmp_name'][$i];

        if ($tmpfile != ""){
            $newFilePath = "image/" . $_FILES['file']['name'][$i];
            if(move_uploaded_file($tmpfile, $newFilePath)) {
                echo "Upload successfully";
            }
        }
    }
}

这是我的数据库详细信息。

$conn=mysqli_connect("localhost", "root", '', 'multiple');
$query = "insert into image_upload(image_name) values('$newFilePath')";
$result = mysqli_query($conn, $query);
mysqli_close($conn);

这里我希望将所有图像名称发送到数据库并按名称获取所有图像。 任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

if (isset($_POST['submit'])) {
    $conn=mysqli_connect("localhost", "root", '', 'multiple');
    $total = count($_FILES['file']['name']);
    $imageArr=array();
    for ($i=0; $i <$total; $i++) { 
        $tmpfile= $_FILES['file']['tmp_name'][$i];

        if ($tmpfile != ""){
            $newFilePath = "image/" . $_FILES['file']['name'][$i];
            if(move_uploaded_file($tmpfile, $newFilePath)) {
                $query = "insert into image_upload(image_name) values ('$newFilePath')";
                $result = mysqli_query($conn, $query);
                $imageArr[$i]=$_FILES['file']['name'][$i];
                if($i=$total) {
                    echo "Upload successfully";
                }

            }
        }
    }
    print_r($imageArr);
}

希望这会对你有所帮助。