<?php
// var_dump($_FILES);exit();
if(isset($_POST['avatar_data'])){
$avatar_data=$_POST['avatar_data'];
$pos=json_decode($avatar_data);
$x=$pos->x;
$y=$pos->y;
$height=$pos->height;
$width=$pos->width;
$rotate=$pos->rotate;
$allowedExts = array("jpg", "png");
$temp = explode(".", $_FILES["avatar_file"]["name"]);
$extension = end($temp); // 获取文件后缀名
if ((($_FILES["avatar_file"]["type"] == "image/jpg")
|| ($_FILES["avatar_file"]["type"] == "image/jpeg")
|| ($_FILES["avatar_file"]["type"] == "image/png"))
&& ($_FILES["avatar_file"]["size"] < 204800) // 小于 200 kb
&& in_array($extension, $allowedExts))
{
if ($_FILES["avatar_file"]["error"] > 0)
{
//echo "错误:: " . $_FILES["avatar_file"]["error"] . "<br>";
$data['message']="错误:: " . $_FILES["avatar_file"]["error"];
echo json_encode($data);
}
else
{
// 判断当期目录下的 upload 目录是否存在该文件
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("uploads/" . $_FILES["avatar_file"]["name"]))
{
// echo $_FILES["avatar_file"]["name"] . " 文件已经存在。 ";
$data['message']='头像已存在';
echo json_encode($data);
}
else
{
// 根据坐标裁剪
$targ_w = $targ_h = 200;
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
$orpicname="uploads/" .mt_rand(10000,99999).$_FILES["avatar_file"]["name"];
move_uploaded_file($_FILES["avatar_file"]["tmp_name"],$orpicname);
//echo "文件存储在: " . "upload/" . $_FILES["avatar_file"]["name"];
//$src="uploads/" . $_FILES["avatar_file"]["name"];
$pathinfo = pathinfo($orpicname);
$filename = 'uploads/small_'.mt_rand(10000,99999).$pathinfo['basename'];
if($extension=='jpg'){
$img_r = imagecreatefromjpeg($orpicname); //从url新建一图像
$dst_r = imagecreatetruecolor($targ_w, $targ_h); //创建一个真色彩的图片源
imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $targ_w, $targ_h, $width, $height);
imagejpeg($dst_r, $filename, 90);
}else{
// png
$img_r = imagecreatefrompng($orpicname); //从url新建一图像
$dst_r = imagecreatetruecolor($targ_w, $targ_h); //创建一个真色彩的图片源
imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $targ_w, $targ_h, $width, $height);
imagepng($dst_r, $filename, 9);
}
$data['message']='头像上传成功';
echo json_encode($data);
}
}
}
else
{
//echo "非法的文件格式";
$data['message']='请上传png或者jpg格式';
echo json_encode($data);
}
}else{
$data['message']='请选择头像上传';
echo json_encode($data);
exit();
}
?>