如何使用php中的dropzone上传文件,将文件详细信息保存到mysql数据库

时间:2019-03-11 15:15:11

标签: php mysql dropzone

您好,我正在尝试使用dropzone js框架实现拖放功能。

我已经使用以下代码段成功上传了文件

<link rel="stylesheet" href="https://rawgit.com/enyo/dropzone/master/dist/dropzone.css">
<form action="upload.php" class="dropzone"></form>

<script src="https://rawgit.com/enyo/dropzone/master/dist/dropzone.js"> 
</script>
<script>
    //Disabling autoDiscover
    Dropzone.autoDiscover = false;

     $(function() {
        //Dropzone class
        var myDropzone = new Dropzone(".dropzone", {
            url: "upload.php",
            paramName: "file",
            maxFilesize: 2,
            maxFiles: 10,
            acceptedFiles: "image/*,application/pdf"
        });
     });
</script>

现在,我正在尝试使用以下方法保存上传的详细信息的详细信息

<?php
    include_once("dbconf.php");
    if(!empty($_FILES)){
      $upload_dir = "media/";
      $fileName = $_FILES['file']['name'];
      $uploaded_file = $upload_dir.$fileName;
      if(move_uploaded_file($_FILES['file']['tmp_name'],$uploaded_file)){

         $mysql_insert = "INSERT INTO gallery (file)VALUES('".$fileName."')";
         mysqli_query($conn, $mysql_insert) or die("database error:". 
         mysqli_error($conn));
        }
      }
?>

但是文件详细信息未保存在数据库中。

请注意,我已经在线检查了很多实现方式几乎相同的实现方式。他们也不起作用。

请帮助

1 个答案:

答案 0 :(得分:0)

在查询中,您有filefile是mysql上的保留字,应添加引号。 “文件”

$uploaded_file = $upload_dir.$fileName;
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploaded_file)){
    $mysql_insert = "INSERT INTO gallery (`file`)VALUES('".$fileName."')";
    mysqli_query($conn, $mysql_insert) or die("database error:". 
    mysqli_error($conn));
}

参考:https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-F