function update_avatar() { $x = intval(v('x')); $y = intval(v('y')); $w = $h = intval(v('w')); $targ_w = $targ_h = 100; if ($_FILES['ufile']['error'] != 0) { return info_page(__('AVATAR_UPLOAD_ERROR')); } if ($w == 0 || $h == 0) { $tmp_name = $_FILES['ufile']['tmp_name']; } else { // do crop $src = $_FILES['ufile']['tmp_name']; list($width, $height, $type, $attr) = getimagesize($src); if ($type == IMAGETYPE_PNG) { $img_r = imagecreatefrompng($src); } elseif ($type == IMAGETYPE_GIF) { $img_r = ImageCreateFromGIF($src); } else { $img_r = imagecreatefromjpeg($src); } $dst_r = ImageCreateTrueColor($targ_w, $targ_h); imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $targ_w, $targ_h, $w, $h); $tmp_name = SAE_TMP_PATH . uid() . '-avatar'; imagejpeg($dst_r, $tmp_name, 90); } $data['token'] = token(); $data['file'] = '@' . $tmp_name; if ($content = upload_as_form(c('api_server') . '?c=api&a=user_update_avatar', $data)) { $data = json_decode($content, 1); if ($data['err_code'] == 0) { return info_page(__('AVATAR_UPDATE_SUCCESS')); } else { return info_page(__('AVATAR_UPDATE_ERROR'), array($data['err_code'], $data['err_msg'])); } } return info_page(__('AVATAR_UPDATE_SUCCESS')); }
function update_avatar() { $x = intval(v('x')); $y = intval(v('y')); $w = $h = intval(v('w')); $targ_w = $targ_h = 100; if ($_FILES['ufile']['error'] != 0) { return info_page('文件上传错误,请重新上传'); } if ($w == 0 || $h == 0) { $tmp_name = $_FILES['ufile']['tmp_name']; } else { // do crop $src = $_FILES['ufile']['tmp_name']; if ($_FILES['ufile']['type'] == 'image/png') { $img_r = imagecreatefrompng($src); } elseif ($_FILES['ufile']['type'] == 'image/gif') { $img_r = ImageCreateFromGIF($src); } else { $img_r = imagecreatefromjpeg($src); } $dst_r = ImageCreateTrueColor($targ_w, $targ_h); imagecopyresampled($dst_r, $img_r, 0, 0, $x, $y, $targ_w, $targ_h, $w, $h); $tmp_name = SAE_TMP_PATH . uid() . '-avatar'; imagejpeg($dst_r, $tmp_name, 90); } $data['token'] = token(); $data['file'] = '@' . $tmp_name; if ($content = upload_as_form(c('api_server') . '?c=api&a=user_update_avatar', $data)) { $data = json_decode($content, 1); if ($data['err_code'] == 0) { return info_page('<a href="?c=buddy">头像更新成功,由于浏览器缓存的关系,您可能看到的还是旧头像,可强制刷新或清空缓存。</a>'); } else { return info_page('头像更新失败,错误码-' . $data['err_code'] . ',错误信息-' . $data['err_msg']); } } }