php上传图片

文章描述:

php+ajax上传图片

html

<input type="file" id="file" name="file"/>
<input type="button"  id="upload" value="上传" />

js


$('#upload').on('click',function() {
   var formData = new FormData();
   formData.append('img', $('#file')[0].files[0]);
   //添加图片信息的参数
   $.ajax( {
      url: '/upload.php',
         type: 'POST',
         dataType: "json",
         async: false,
         cache: false,
         data: formData,
         processData: false,
         contentType: false,
         success: function(data) {
         
         },
         error: function(data) {

         }
   })
});

php

判断file里面是否有图片,如果有侧调用自定义上传方法

if(@$_FILES["img"]["name"]!=""){
    $file = $_FILES["img"];
    $mulu = "avatar/";
    $mobile = 1;
    $img_url=uploadImg($file,$mulu,$mobile);
    $data['head_img']= $img_url;
}

自定义上传方法

function uploadImg($file,$mulu,$mobile){
    //图片目录
    $dir = 'upload/'.$mulu;
    if(!is_dir($dir)) {
        mkdir(iconv("UTF-8", "GBK", $dir), 0777, true);
    }

    //图片上传地址
    move_uploaded_file($file["tmp_name"],$dir."/" . $file["name"]);
    //得到当前时间,如;20190911034728
    $date = date('Ymdhis');
    //得到上传文件的名字
    $fileName = $file["name"];
    //将文件名以'.'分割得到后缀名,得到一个数组
    $name = explode('.', $fileName);
    //得到一个新的文件为'20190911034728.jpg',即新的路径
    $newPath = $mobile . '.' . $name[1];
    //临时文件夹,即以前的路径
    $oldPath = $file["tmp_name"];
    rename($dir ."/". $fileName, $dir ."/". $newPath);
    //这里可以写你的SQL语句,图片的地址是 "upload/".$newPath
    $img_url = $dir."/".$newPath;
    return $img_url;
}

 

mkdir(): No such file or directory是目录不存在

发布时间:2021/06/22

发表评论