这是我使用 dropzone 插入图像的功能,但每次我上传图像时,它都会再次插入一个新的 id,这意味着新的行。我想要的是将所有图像仅上传一行并序列化所有图像。
<?php
if(!empty($_FILES)){
include 'connection.php';
$id = $_POST['id'];
$targetDir = "uploads/";
$fileName = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$img = $_FILES['file']['name'];
$img_name = $id . "_" . uniqid() . "_" . ($_POST['default_pic'] == $img ? "1" : "0") . "." . $fileName;
$targetFile = $targetDir.basename($img_name);
if(move_uploaded_file($_FILES['file']['tmp_name'],$targetFile)){
$new_data = array("cover" => ($_POST['default_pic'] == $img ? "1" : "0"), "img" => $img_name);
$new_array[] = $new_data;
$data_serialize = serialize($new_array);
//insert file information into db table
$conn->query("INSERT INTO files (file_name, uploaded) VALUES('".$data_serialize."','".date("Y-m-d H:i:s")."')");
}
}
?>
我的数组的用途是自定义图像的名称..并通过函数序列化将它们放入一个变量中。
$new_data = array("cover" => ($_POST['default_pic'] == $img ? "1" : "0"), "img" => $img_name);
$new_array[] = $new_data;
最佳答案
Dropzone 允许您设置“uploadMultiple”参数。
http://www.dropzonejs.com/#config-uploadMultiple
使用此功能时,Dropzone 将在单个 HTTP 请求中发送所有文件,并且您需要在后端处理它们(在您的情况下为 PHP)。如果您var_dump
您的$_FILES
<script type="text/javascript">
$(function() {
var myDropzone = new Dropzone("#dz", {
uploadMultiple: true
});
});
</script>
当然还有 HTML ...
<form id="dz"
关于php - Dropzone上传图片并将所有图片序列化为一份数据保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33011731/