Jelajahi Sumber

modify upavatar

stanley-king 8 tahun lalu
induk
melakukan
9b70d56585

+ 4 - 3
core/framework/libraries/queue.php

@@ -89,15 +89,16 @@ class QueueDB
         {
             if ($result = $this->_redis->brPop($key,$time)) {
                 return $result[1];
+            } else {
+                return null;
             }
-        } catch (Exception $e) {
+        }
+        catch (Exception $e) {
             $err = $e->getMessage();
             $code = $e->getCode();
             Log::record("QueueDB pop err: code={$code} err={$err}",Log::ERR);
             return null;
         }
-
-        return null;
     }
 
     public function clear() {

+ 2 - 1
data/model/groupbuy.model.php

@@ -298,7 +298,8 @@ class groupbuyModel extends Model
      * @return bool
      *
      */
-    public function editGroupbuy($update, $condition) {
+    public function editGroupbuy($update, $condition)
+    {
         $groupbuy_list = $this->getGroupbuyList($condition, null, '', 'goods_commonid');
         $result = $this->where($condition)->update($update);
         if ($result) {

+ 32 - 1
helper/FileUploader.php

@@ -104,10 +104,41 @@ class FileUploader
      *	}
      *
      */
-    function __construct(){
+    public function __construct(){
         $this->config['thumb_type'] = C('thumb.cut_type');
         Language::read('core_lang_index');
     }
+
+    public function init_files($img,$member_id,&$err)
+    {
+        if(file_exists($img) == false) return false;
+
+        $_FILES = [];
+        $_FILES['file'] = [];
+
+        $exif = exif_imagetype($img);
+        if($exif == false) {
+            $err = array('code' => errcode::ErrUpfile,"不是图片格式文件");
+            return false;
+        }
+        $mime_type = image_type_to_mime_type($exif);
+        $_FILES['file']['type'] = $mime_type;
+        $_FILES['file']['error'] = 0;
+
+        $info = new SplFileInfo($img);
+        $_FILES['file']['size'] = $info->getSize();
+        $_FILES['file']['name'] = $info->getFilename();
+        $_FILES['file']['tmp_name'] = $img;
+
+        $ext = $info->getExtension();
+        if(empty($ext)) {
+            $file_name = $member_id.'_'.md5($info->getFilename());
+        } else {
+            $file_name = $member_id.'_'.md5($info->getFilename()) . '.' . $ext;
+        }
+
+        return $file_name;
+    }
     /**
      * 设置
      *

+ 4 - 33
mobile/control/member_evaluate.php

@@ -114,43 +114,14 @@ class member_evaluateControl extends mbMemberControl
         }
     }
 
-    private function init_files($img,&$err)
-    {
-        $_FILES = [];
-        $_FILES['file'] = [];
-
-        $exif = exif_imagetype($img);
-        if($exif == false) {
-            $err = array('code' => errcode::ErrUpfile,"不是图片格式文件");
-            return false;
-        }
-        $mime_type = image_type_to_mime_type($exif);
-        $_FILES['file']['type'] = $mime_type;
-        $_FILES['file']['error'] = 0;
-
-        $info = new SplFileInfo($img);
-        $_FILES['file']['size'] = $info->getSize();
-        $_FILES['file']['name'] = $info->getFilename();
-        $_FILES['file']['tmp_name'] = $img;
-
-        $ext = $info->getExtension();
-        if(empty($ext)) {
-            $file_name = $_SESSION['member_id'].'_'.md5($info->getFilename());
-        } else {
-            $file_name = $_SESSION['member_id'].'_'.md5($info->getFilename()) . '.' . $ext;
-        }
-
-        return $file_name;
-    }
-
     private function upfile($img,&$err)
     {
-        if($this->init_files($img,$err) == false) {
-            return false;
-        }
-
         $member_id = $_SESSION['member_id'];
+
         $upload = new FileUploader();
+        if($upload->init_files($img,$member_id,$err) == false) {
+            return false;
+        }
 
         $upload_dir = ATTACH_MALBUM.DS.$member_id.DS;
         $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());

+ 36 - 17
mobile/control/member_info.php

@@ -3,9 +3,9 @@
  * 获取用户信息
  ***/
 defined('InShopNC') or exit('Access Invalid!');
-require_once (BASE_ROOT_PATH . '/helper/text_filter.php');
-require_once (BASE_ROOT_PATH . '/helper/file_upload.php');
-require_once (BASE_ROOT_PATH . '/helper/relation_helper.php');
+require_once(BASE_ROOT_PATH . '/helper/text_filter.php');
+require_once(BASE_ROOT_PATH . '/helper/FileUploader.php');
+require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
 
 
 class member_infoControl extends mbMemberControl
@@ -46,7 +46,7 @@ class member_infoControl extends mbMemberControl
                         if(strncasecmp($path,"http://",strlen("http://")) == 0) {
                             $ret['member_avatar'] = $path;
                         } else {
-                            $url = UPLOAD_SITE_URL . "/shop/avatar/{$path}";
+                            $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
                             $ret['member_avatar'] = $url;
                         }
                     }
@@ -60,28 +60,47 @@ class member_infoControl extends mbMemberControl
         self::outsuccess($ret);
     }
 
-    public function upavatarOp()
+    private function upfile($img,&$err)
     {
         $member_id = $_SESSION['member_id'];
-        if (!isset($member_id)) {
-            return self::outerr(errcode::ErrUploadFileFailed);
+
+        $upload = new FileUploader();
+        if($upload->init_files($img,$member_id,$err) == false) {
+            return false;
         }
 
-        $result = FileUpload::upload_avatar($file_path);
-        if($result == false) {
-            return self::outerr(errcode::ErrUploadFileFailed);
+        $upload_dir = ATTACH_AVATAR.DS.$member_id.DS;
+        $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());
+        $thumb_width	= '480,1024';
+        $thumb_height	= '480,1024';
+
+        $upload->set('max_size',C('image_max_filesize'));
+        $upload->set('thumb_width', $thumb_width);
+        $upload->set('thumb_height',$thumb_height);
+        $upload->set('fprefix',$member_id);
+        $upload->set('thumb_ext', '_240,_1024');
+        $result = $upload->upfile('file');
+        if($result == true) {
+            return $upload->file_name;
+        } else {
+            $err = array('code' => errcode::ErrUpfile, 'msg' => $upload->error);
+            return false;
         }
+    }
 
-        $file_path = str_replace(BASE_AVATAR_PATH, '', $file_path);
+    public function upavatarOp()
+    {
+        $file_path = $_POST["file_path"];
+        $member_id = $_SESSION['member_id'];
+        $file_name = $this->upfile($file_path,$err);
+        if($file_name == false) {
+            return self::outerr(errcode::ErrUploadFileFailed);
+        }
+        $file_path = DS.$member_id.DS.$file_name;
         $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
         if ($ret) {
-	    $prev_avatar_path = $_SESSION['member_avatar'];
-            if (isset($prev_avatar_path) && !empty($prev_avatar_path)) {
-                @unlink(BASE_AVATAR_PATH . $prev_avatar_path);
-            }		    
-	
             $_SESSION['member_avatar'] = $file_path;
-            $url = UPLOAD_SITE_URL . "/shop/avatar/{$file_path}";
+            $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
             return self::outsuccess(array('member_avatar' => $url));
         } else {
             return self::outerr(errcode::ErrDB);