我如何使用Jquery EasyUI将我的文件上传到DB mysql?

时间:2014-06-18 06:02:49

标签: php jquery mysql forms jquery-easyui

我正在使用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";}               
?>

1 个答案:

答案 0 :(得分:0)

我敢打赌,由于某种原因你无法上传文件。试试他的代码:

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"],因此您只会将文件名保存在数据库中,而不是文件本身。

第三:就像我在评论中说的那样,使用mysqli / PDO,为了你的理智,用

创建一个文件限制
<input type="hidden" name="MAX_FILE_SIZE" value="XXX">

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

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