我对我的php fileupload有问题,该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>
我收到的唯一错误消息是"错误",而别无其他。
希望有人可以提供帮助。
$().serialize
总是创建url-encoded
字符串,而忽略文件输入。您必须使用另一种方法。请参阅:http://api.jquery.com/serialize/
一个选项是将表单放在隐藏的iframe
中并触发提交事件。
还要查看jQuery文件上传插件:http://blueimp.github.com/jquery-file-upload/