Ejemplo n.º 1
0
 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'));
 }
Ejemplo n.º 2
0
 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']);
         }
     }
 }