如何使用 Jquery EasyUI 将文件上传到 DB mysql?
Posted
技术标签:
【中文标题】如何使用 Jquery EasyUI 将文件上传到 DB mysql?【英文标题】:How i can upload my file to DB mysql with Jquery EasyUI? 【发布时间】: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 代码。 【参考方案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 代码吗?以上是关于如何使用 Jquery EasyUI 将文件上传到 DB mysql?的主要内容,如果未能解决你的问题,请参考以下文章