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
发表评论