簡體   English   中英

用PHP上傳多個圖像並將其放入MYSQL數據庫

[英]Upload Multiple Images with PHP and put it into MYSQL Database

編輯:解決了! 歸功於@kaylined和@uli。 我編輯了代碼,以防將來有人一次上傳多個圖像時遇到相同的問題,並將其存儲到MYSQL數據庫中。

我正在嘗試使用PHP和MYSQL一次創建上傳多個圖像的腳本。 但是腳本運行不正常。 我不知道我在哪里做錯了。 也許你們可以幫忙。 這是我的代碼:

PS:圖像成功上傳,文件名也成功存儲到數據庫。 但是“ slug”變量以“ Array”的形式存儲到數據庫中

輸入表格

<form method="POST" action="action-add-images.php" enctype="multipart/form-data">
    <input type="hidden" name="slug" value="<?php echo $_GET['slug']; ?>">
    <label>Upload Files</label>
    <input required type="file" name="image[]" class="form-control-file" multiple>
    <button type="submit" class="btn btn-block btn-primary my-3 ">Upload Images</button>
</form>

動作文件

<?php
include "../connect.php";
    foreach ($_FILES['image']['name'] as $key => $name){
        $newFilename = date('YmdHis',time()).mt_rand().'.jpg';
        move_uploaded_file($_FILES['image']['tmp_name'][$key], '../img/' . $newFilename);
        $image = '../img/' . $newFilename;
        $slug = $_POST['slug'];
        mysqli_query($conn,"INSERT INTO product_image (slug,image) values ('$slug','$newFilename')");
    }
    header('location:product.php');
?>

Slug正在保存為數組,因為它是一個數組。

$slug = $_POST['slug'];

假設slug元素的添加順序與文件相同,應該可以解決您的問題。

根據評論,上面的PHP已經修復,下面的HTML修復了-我所做的只是從輸入中刪除了數組指令:

<form method="POST" action="action-add-images.php" enctype="multipart/form-data">
<input type="hidden" name="slug" value="<?php echo $_GET['slug']; ?>">
<label>Upload Files</label>
<input required type="file" name="image[]" class="form-control-file" multiple>
<button type="submit" class="btn btn-block btn-primary my-3 ">Upload Images</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM