在我的自定义CMS上,
我已成功将管理表单中的所有值保存到数据库中。
所有这些都有一个值,但多元素呢?
如何使用多个图像保存输入文件?
以下是添加帖子页面的完整代码:
<?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中,多元素具有属性 multiple ,并且使用数组这一行应该是这样的:
<input type="file" name="image[]" multiple>
但是如何设置一个数组元素$ image并将多个值保存到一个字段中,所以当我上传时说三个图像时,数据库图像字段中保存的值应如下所示: sample-1.jpg,sample-2.jpg,sample-3.jpg
答案 0 :(得分:2)
我建议您为上传的图像创建另一个表,并使用第一个表的外键映射它。
对于Ex:假设您有一个表单来添加属性详细信息。创建 用于添加属性详细信息的表,具有多个图像上载 特征。您必须在此表中存储图像的路径。 使用Image Id和Primary Key(第一个)创建另一个表 表)并映射它们。这样第二个表就会有多行 第一个表的主键。这将有助于你获取 如果需要,可以轻松拍摄。
<强> 1。属性表
包含所有字段和图片上传路径字段。
<强> 2。 Image_Prop表
包含img id(唯一)和外键(属性表) 用于映射以及其他细节。