【问题标题】:how to upload a file,save file details to mysql database using dropzone in php如何上传文件,使用 php 中的 dropzone 将文件详细信息保存到 mysql 数据库
【发布时间】:2019-03-11 15:15:10
【问题描述】:

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

我已经使用下面的 sn-p 成功上传了文件

<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) PHP 最大执行时间 2) 最大文件上传大小.3) 缺少目录权限.. 所以你需要在 PHP 端更好地学习.. 还有你的代码容易发生 SQL 注入..
  • 你遇到了什么错误?
  • 没有错误@vidal
  • @RaymondNijland 我知道这一点,我只是至少了解基础知识,例如保存到数据库中。谢谢
  • @RaymondNijland 文件已上传,但上传的详细信息未保存在数据库中

标签: php mysql dropzone


【解决方案1】:

在您的查询中,您有 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

【讨论】:

  • 它已经保存了,我的问题是文件的详细信息,例如名称未插入数据库
  • 请看我更新的答案,添加 `` 到文件列。文件是 mysql 中的一项保留工作。
  • 使用你的方法上传功能和插入语句都不起作用。谢谢
  • 您是否将查询更新为“INSERT INTO gallery ('file')VALUES('".$fileName."')"; ?如果是这样,你得到了什么错误?
  • 无法将文件移动到上传目录,这是错误
猜你喜欢
  • 2018-12-24
  • 1970-01-01
  • 2012-07-14
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 2011-11-14
  • 1970-01-01
相关资源
最近更新 更多