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