Php 如何使用ajax上传图像文件?
使用ajax上传图像MVC时出现问题,我在c_ajax_img.php页面的类设置中调用了controls_class.php内容函数upload_img_admin 第c_ajax_img.php页Php 如何使用ajax上传图像文件?,php,jquery,Php,Jquery,使用ajax上传图像MVC时出现问题,我在c_ajax_img.php页面的类设置中调用了controls_class.php内容函数upload_img_admin 第c_ajax_img.php页 include_once('controls_class.php'); $ajax_up_img = new settings; $ajax_up_img->upload_img_admin(@$_FILES['file_upload']); 类设置中的函数上载\u img\u admin
include_once('controls_class.php');
$ajax_up_img = new settings;
$ajax_up_img->upload_img_admin(@$_FILES['file_upload']);
类设置中的函数上载\u img\u admin
function upload_img_admin()
{
$dir_name=dirname(__FILE__)."/upload/";
$path=@$_FILES['file_upload']['tmp_name'];
$name=@$_FILES['file_upload']['name'];
$size=@$_FILES['file_upload']['size'];
$type=@$_FILES['file_upload']['type'];
$error=@$_FILES['file_upload']['error'];
...
...
if( isset($_FILES['file_upload']) )
{
move_uploaded_file($path,$dir_name.$name);
...
...
echo "ok";
}
else
{
echo "File not found";
}
}
函数ajax获取数据表单并发送到函数previous以上载图像
$(document).ready(function() {
$(".btn_upload_avatar").click(function(e) {
$('.msgerror').hide().fadeIn(1000).html( '<div class="loading"></div>');
e.preventDefault();
$.ajax({
type:"POST",
url: "../controls/c_ajax_img.php",
cache: false,
processData:false,
contentType: false,
data:$("#form_up_img").serialize(),
success: function (data)
{
if(data == 0){
$('.msgerror').addClass('msgerror_in2').html(data);
}else{
$('.msgerror').addClass('msgerror_in2').html(data);
}
}
});
});
});
$(文档).ready(函数(){
$(“.btn_上传_化身”)。单击(功能(e){
$('.msgerror').hide().fadeIn(1000.html('');
e、 预防默认值();
$.ajax({
类型:“POST”,
url:“../controls/c_ajax_img.php”,
cache:false,
processData:false,
contentType:false,
数据:$(“#form_up_img”).serialize(),
成功:功能(数据)
{
如果(数据==0){
$('.msgerror').addClass('msgerror_in2').html(数据);
}否则{
$('.msgerror').addClass('msgerror_in2').html(数据);
}
}
});
});
});
像这样的东西可能会帮助你交配……)
$(文档).ready(函数(){
$('#UploadForm')。在('submit',(函数(e)上){
$('.msgerror').hide().fadeIn(1000.html('');
e、 预防默认值();
var formData=新formData(本);
formData.append('file',input.files[0]);
$.ajax({
url:“../controls/c_ajax_img.php”,
数据:formData,
contentType:false,
键入:“POST”,
processData:false,
成功:功能(数据){
控制台日志(“成功”);
控制台日志(数据);
},
错误:函数(数据){
控制台日志(“错误”);
控制台日志(数据);
}
});
});
});
FYI
ProcessData设置为false,以防止jQuery自动将数据转换为查询字符串您将从此处获得答案如果您没有得到答案,请告诉我我没有得到答案…在函数upload\u img\u admin中此对齐设置($\u FILES['file\u upload'])发送错误我想函数不知道是设置提交还是否。当您使用ajax var formdata=new formdata();formdata.append(“file”,file.files[0]);这样我就解决了函数jquery中出现错误时单击class
$(“.btn\u upload\u avatar”)。单击(函数(e) …
必须使用提交格式发送文件,php也正确接收了此文件,如$(“#form_up_img”)。关于('submit',(函数(e)…
谢谢
$(document).ready(function () {
$('#UploadForm').on('submit',(function(e) {
$('.msgerror').hide().fadeIn(1000).html('<div class="loading"></div>');
e.preventDefault();
var formData = new FormData(this);
formData.append('file', input.files[0]);
$.ajax({
url: '../controls/c_ajax_img.php',
data: formData,
contentType: false,
type: 'POST',
processData: false,
success: function (data) {
console.log("success");
console.log(data);
},
error: function (data) {
console.log("error");
console.log(data);
}
});
});
});