2016-07-01 22 views
0

在我的自定義CMS上,如何使用PHP腳本在數據庫中保存多個圖像

我成功地能夠將所有的值從管理表單保存到數據庫中。

所有這些都有一個值,但多元素呢?

如何用多個圖像保存輸入文件?

這裏是我的添加帖子頁面全碼:

<?php 
if(isset($_POST['submit'])) { 
    $title_bg = $_POST['title_bg']; 
    $title_en = $_POST['title_en']; 
    $body_bg = $_POST['body_bg']; 
    $body_en = $_POST['body_en']; 
    $image = $_FILES['image']['name']; 
    $image_tmp = $_FILES['image']['tmp_name']; 

    move_uploaded_file($image_tmp, '../uploads/' . $image); 

    $status = $_POST['status']; 


    $query = "INSERT INTO posts(title_bg, title_en, body_bg, body_en, image, status, created) "; 
    $query .= "VALUES('$title_bg', '$title_en', '$body_bg', '$body_en', '$image', '$status', now())"; 

    $create_post = mysqli_query($connection, $query); 

    header("Location: posts.php"); 
} 
?> 

<form action="" method="post" enctype="multipart/form-data"> 
    <div class="form-item"> 
     <label for="title_bg">Post title BG</label> 
     <input type="text" name="title_bg"> 
    </div> 

    <div class="form-item"> 
     <label for="title_en">Post title EN</label> 
     <input type="text" name="title_en"> 
    </div> 

    <div class="form-item"> 
     <label for="body_bg">Post body BG</label> 
     <textarea id="editor" name="body_bg" rows="10" cols="30"></textarea> 
    </div> 

    <div class="form-item"> 
     <label for="body_en">Post body EN</label> 
     <textarea id="editor2" name="body_en" rows="10" cols="30"></textarea> 
    </div> 

    <div class="form-item"> 
     <label for="image">Image</label> 
     <input type="file" name="image"> 
    </div> 

    <div class="form-item"> 
     <label for="status">Post status</label> 
     <select name="status"> 
      <option value="published">published</option> 
      <option value="draft">draft</option> 
     </select> 
    </div> 

    <div class="form-item"> 
     <input type="submit" class="form-submit" name="submit" value="Submit"> 
    </div> 
</form> 

眼下圖像值保存到這樣的數據庫像場: 樣品1.JPG。

據我所知,在HTML多元素具有屬性多個和使用數組這條線應該是這樣的:

<input type="file" name="image[]" multiple> 

但我如何設置一個數組元素$圖像並保存多個值合併到一個字段中,所以當我上傳我們說三個圖像時,數據庫圖像字段中保存的值應該是這樣的: sample-1.jpg,sample-2.jpg,sample-3.jpg

+0

您有設計主圖像表,您將在其中爲每個圖像和組或類別創建具有唯一標識和路徑的條目,用於保存圖像。 –

+0

用列post_id創建新的表格圖像,文件... –

+0

也許嘗試將圖像列表存儲爲JSON? –

回答

2

我建議你爲上傳的圖像創建另一個表格並用外鍵映射它的第一張桌子。

例如:假設您有一個表單來添加屬性詳細信息。創建 添加屬性詳細信息的表格,具有多圖像上傳 功能。您必須在此表中存儲圖像的路徑。 用Image Id和主鍵(第一個 表)創建另一個表格並映射它們。這樣第二個表格將有多行,第一個表格的主鍵爲 。這將幫助您在需要時輕鬆獲取 圖像。

1.屬性表

包含了各個領域和圖片上傳路徑字段。

2. Image_Prop表

包含IMG ID(唯一的)和外鍵(屬性表) 的其他詳細信息的映射。

相關問題