原生ajax+php上传图片的简单实现

浏览: 37 发布日期: 2017-12-18 分类: ajax

前端

 <input type="file" onclick="updown" accept="image/png,image/gif">//accept限制上传的类型
 <script> 
     function upload1(obj){
var files = obj.files ;
var formData = new FormData();
    $.ajax({
          url: download.php,
          type: "POST",
          data:formData,
          dataType:'json',
          cache:false,         //不设置缓存
          processData: false,  // 不处理数据
          contentType: false,   // 不设置内容类型
    success:function(res){
    }
    }); 
}
</script>
 

后端写法:(download.php)

$data = var_export($_FILES,true);//接收FormData
define('UPLOAD_DIR', '../Resources/skill/');//这里设置你的下载目录
$fileName = UPLOAD_DIR.$a. '.gif';//这里也可以是其他文件类型,不过前端的accept也要变化
$success = file_put_contents($fileName,$data);//上传文件 这里需要传两个参数一个是 文件路径+文件   另一个是我们从前端接收的FormData
$data=array();
if($success){
        $data['status']=$fileName;
        $data['msg']='上传成功';
        echo json_encode($data);
}else{
        $data['status']=0;
        $data['msg']='系统繁忙,请售后再试';
        echo json_encode($data);
}
//最后返回的就是json格式

这里PHP最关键的是函数是file_put_contents()
函数把一个字符串写入文件中。

如有上面有什么写得不对的地方,大佬们可以指出来

返回顶部