【问题标题】:How i can upload my file to DB mysql with Jquery EasyUI?如何使用 Jquery EasyUI 将文件上传到 DB mysql?
【发布时间】:2014-08-08 07:25:03
【问题描述】:

我正在使用 Jquery EasyUI,但我在处理这段代码时遇到了问题。我有一个将文件输入到 DB 的表单,并且该表单有一个 input type = file 我想允许一个附件。但是,提交表单时,$_FILES 对象在 DB 和声明的路径中没有任何内容。

希望有人能帮我解决这个问题代码。 谢谢

这是我的收听代码:


<form id="form" method="post" enctype="multipart/form-data">
    <input type="file" name="file_att" id="file_att" size = "30px;" class="easyui-validatebox" required="true"/>
</form>

这是我在提交表单时运行表单的代码:


<?php
    include "../inc/inc.koneksi.php";

    $file_att=$_FILES["file_att"]["name"];
    $target="file_att/$file_att";
    $temp=$_FILES["file_att"]["tmp_name"];


    $query=mysql_query("INSERT INTO t_director(id_direc,file_att) VALUES ('NULL','$file_att')");
    if(!empty($file_att)){
        move_uploaded_file("$temp","$target");
        echo "Success Attached";
    }
    else {echo "Failed";}               
?>

【问题讨论】:

  • 首先你应该放弃 mysql 命令以支持mysqli or PDO,因为 mysql 已被弃用。其次,上传文件而不设置大小限制对我来说是个坏主意。
  • 显示你的 jQuery 代码。

标签: php jquery mysql forms jquery-easyui


【解决方案1】:

我敢打赌,您由于某种原因未能上传文件。试试他下面的代码:

if(move_uploaded_file($temp, $target)) {
    echo "File uploaded";
} else{
    echo "Error!";
}

代替:

move_uploaded_file("$temp","$target");
echo "Success Attached";

如果此输出和错误,请尝试var_dump($_FILES["file_att"]); 获取错误代码。有关错误代码的更多信息可以找到here

此外,您的文件在移动之前位于$_FILES["file_att"]["tmp_name"],因此您将仅将其文件名保存在数据库中,而不是文件本身。

第三:就像我在 cmets 中所说的那样,使用 mysqli/PDO,并且为了您的理智,创建一个文件限制

<input type="hidden" name="MAX_FILE_SIZE" value="XXX">

其中 XXX 是以字节为单位的值。

编辑:另外,检查您服务器的 post_max_size 和 upload_max_file_size。

【讨论】:

  • 我试图更改代码但没有解决方案
  • 当您尝试上传文件时显示“文件已上传”或“错误”?
  • 如果它说错误,这正是我所说的。由于某种原因无法上传文件。那么 var_dump($_FILES["file_att"]) 输出什么?
  • 它说“NULL 错误!”
  • NULL 表示您将文件发送到错误的 php 文件。您可以在问题中添加您的 jquery 代码吗?
猜你喜欢
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多