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

how to upload a file,save file details to mysql database using dropzone in php

您好,我正在尝试使用 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));
        }
      }
?>

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

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

请帮忙

在您的查询中您有 filefile 是 mysql 上的保留字,您应该添加引号。 'files'.

$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