我有一个简单的jQuery/ajax/PHP图像上传器:
jQuery/Java脚本
$('#submit_image').on('click', function() {
var file_data = $('#post_upload').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'upload.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function(php_script_response){
alert(php_script_response);
}
});
});
upload.php
<?php
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
echo $_FILES['file']['size'];
move_uploaded_file($_FILES['file']['tmp_name'], 'user/upload/'. $_FILES['file']['name']);
}
?>
HTML表单
<form action="" method="POST" id="post_image_form">
<input type="file" id="post_upload" name="image" accept="image/*" />
<input type="submit" id="submit_image" class="button" value=" share " />
</form>
我可以上传没有问题的图像,只要它们的文件大小小于大约50kb,这对我的目的来说太小了。我能做些什么来摆脱这个限制?
编辑:由于我的帖子被否决了,因为我的代码中没有提到50公斤的限制:没有限制。我没有编写任何类似文件大小限制的代码,但仍然有一个-为什么?
您的表单中没有有效的enctype。
上传文件要求enctype="multipart/form-data"
位于表单标记内。
修改你的表格,使其如下:
<form action="" method="POST" id="post_image_form" enctype="multipart/form-data">