我会重新解释我的问题。
我的问题不是仅存储图像..而是存储多个图像以及文本,描述等。我研究了遍布堆栈的溢出查找答案,但我发现的大多数是与存储图像相关的答案。我想找到如何同时插入多个数据(名称,图像,描述)。
我遇到困难的唯一部分是多重图像部分。
此外,我的表单是使用jquery动态生成的。
我的数据库结构就像
这是我的HTML:
<td><input type="text" class="form-control" name="item[]" placeholder="Name of Item" /></td>
<td><input type="text" class="form-control" name="desc[]" placeholder="Description" /></td>
<td><input type="text" class="form-control" name="price[]" placeholder="Price" /></td>
<td><input type="text" class="form-control" name="brand[]" placeholder="Brand" /></td>
<td><input type="file" name="images" class="form-control" /></td>
<input type="submit" id="save-product" class="btn btn-success" name="submit" value="Submit">
这是我的PHP:
if(isset($_POST['submit']) ){
$name = $_FILES['images']['name'];
$type = $_FILES['images']['type'];
$size = $_FILES['images']['size'];
$temp = $_FILES['images']['tmp_name'];
$error = $_FILES['images']['error'];
$allowed = array(
"image/jpeg",
"image/jpg",
"image/png");
$con = mysqli_connect("localhost","root", "", "db_elective");
if(in_array($type, $allowed) && $size < 2000000 && !empty($_POST['item'])){
$ext = end(explode(".", $name));
$newFilename = sha1(date("Y-m-d h:i:s")) . "." . $ext;
if(move_uploaded_file($temp, "../uploaded" . $newFilename)){
$item = $_POST['item'];
$desc = $_POST['desc'];
$price = $_POST['price'];
$brand = $_POST['brand'];
$image = $newFilename;
for($x = 0; $x < count($item); $x++){
$vItem = $item[$x];
$vdesc = $desc[$x];
$vbrand = $brand[$x];
$vImg = $image[$x];
$vprice = $price[$x];
mysqli_query($con, "INSERT INTO tb_items (product_name, product_desc, product_img, product_brand, price)
VALUES('$vItem','$vdesc', '$vImg', '$vbrand', '$vprice')");
}
}
}else{
echo "Wrong";
}
}
答案 0 :(得分:0)
如果您同时拍摄多张图片,请先更改您的表单,
<td><input type="file" name="images[]" class="form-control" /></td>
<td><input type="file" name="images[]" class="form-control" /></td>
然后你可以同时拍摄多张照片 - 然后使用foreach循环处理图像--i.e。通过逐个上传并为每个记录插入新记录来说。
答案 1 :(得分:0)
您可以像使用常规表单字段一样使用PHP的数组表示法:
Image 1: <input type="file" name="images[]" class="form-control" />
Image 2: <input type="file" name="images[]" class="form-control" />