我的php fileupload有问题,我在jquery中通过ajax使用。
这是我在php上传文件中的代码:
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],"termine.csv");
echo "Stored in: " . $_FILES["file"]["name"];
}
这是我的jquery ajax声明:
$('#upload_csv').click( function() {
$.ajax({
url: '/playground/php/updatedates.php',
type: 'POST',
data: $('form#csv').serialize(),
}).done(function(txt) {
if(txt!='')alert(txt);
});
});
这是我在index.php文件中的表单:
<form enctype="multipart/form-data" id="csv" method="POST">
<div style="float:left">
<input name="file" type="file" id="file" size="100">
<br/>
<input type="submit" id="upload_csv" value="upload csv file">
</div>
</form>
我得到的唯一错误信息是“错误”而没有别的。
希望有人可以提供帮助。
答案 0 :(得分:2)
$().serialize
始终创建一个url-encoded
字符串,并忽略文件输入。你必须使用另一种方法。请参阅:http://api.jquery.com/serialize/
一种选择是将表单放在隐藏的iframe
中并触发提交事件。
另请参阅jQuery文件上传插件:http://blueimp.github.com/jQuery-File-Upload/