Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用ajax上传图像文件?_Php_Jquery - Fatal编程技术网

Php 如何使用ajax上传图像文件?

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

使用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

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);
              }
          });
      });
  });