Beispiel #1
0
 /**
  * ajax图片上传
  */
 public function image_uploadOp()
 {
     $ap_id = intval($_POST['apid']);
     /**
      * 相册
      */
     $model = Model();
     $default_class = $model->table('sns_albumclass')->where(array('member_id' => $_SESSION['member_id'], 'is_default' => 1))->find();
     if (empty($default_class)) {
         // 验证时候存在买家秀相册,不存在添加。
         $default_class = array();
         $default_class['ac_name'] = Uk86Language::uk86_get('sns_buyershow');
         $default_class['member_id'] = $this->master_id;
         $default_class['ac_des'] = Uk86Language::uk86_get('sns_buyershow_album_des');
         $default_class['ac_sort'] = '255';
         $default_class['is_default'] = 1;
         $default_class['upload_time'] = time();
         $default_class['ac_id'] = $model->table('sns_albumclass')->insert($default_class);
     }
     // 验证图片数量
     $count = $model->table('sns_albumpic')->where(array('member_id' => $_SESSION['member_id']))->count();
     if (C('malbum_max_sum') != 0 && $count >= C('malbum_max_sum')) {
         $output = array();
         $output['error'] = Uk86Language::uk86_get('sns_upload_img_max_num_error');
         $output = json_encode($output);
         echo $output;
         die;
     }
     /**
      * 上传图片
      */
     $upload = new Uk86UploadFile();
     if ($ap_id > 0) {
         $pic_info = $model->table('sns_albumpic')->find($ap_id);
         if (!empty($pic_info)) {
             $upload->uk86_set('file_name', $pic_info['ap_cover']);
         }
         // 原图存在设置图片名称为原图名称
     }
     $upload_dir = ATTACH_MALBUM . DS . $_SESSION['member_id'] . DS;
     $upload->uk86_set('default_dir', $upload_dir . $upload->getSysSetPath());
     $thumb_width = '240,1024';
     $thumb_height = '2048,1024';
     $upload->uk86_set('max_size', C('image_max_filesize'));
     $upload->uk86_set('thumb_width', $thumb_width);
     $upload->uk86_set('thumb_height', $thumb_height);
     $upload->uk86_set('fprefix', $_SESSION['member_id']);
     $upload->uk86_set('thumb_ext', '_240,_1024');
     $result = $upload->uk86_upfile(trim($_POST['id']));
     if (!$result) {
         if (strtoupper(CHARSET) == 'GBK') {
             $upload->error = Uk86Language::uk86_getUTF8($upload->error);
         }
         $output = array();
         $output['error'] = $upload->error;
         $output = json_encode($output);
         echo $output;
         die;
     }
     if ($ap_id <= 0) {
         // 如果原图存在,则不需要在插入数据库
         $img_path = $upload->uk86_getSysSetPath() . $upload->file_name;
         list($width, $height, $type, $attr) = getimagesize(BASE_UPLOAD_PATH . DS . ATTACH_MALBUM . DS . $_SESSION['member_id'] . DS . $img_path);
         $image = explode('.', $_FILES[trim($_POST['id'])]["name"]);
         if (strtoupper(CHARSET) == 'GBK') {
             $image['0'] = Uk86Language::uk86_getGBK($image['0']);
         }
         $insert = array();
         $insert['ap_name'] = $image['0'];
         $insert['ac_id'] = $default_class['ac_id'];
         $insert['ap_cover'] = $img_path;
         $insert['ap_size'] = intval($_FILES[trim($_POST['id'])]['size']);
         $insert['ap_spec'] = $width . 'x' . $height;
         $insert['upload_time'] = time();
         $insert['member_id'] = $_SESSION['member_id'];
         $insert['ap_type'] = 1;
         $insert['item_id'] = intval($_POST['sid']);
         $result = $model->table('sns_albumpic')->insert($insert);
     }
     $data = array();
     $data['file_name'] = $ap_id > 0 ? $pic_info['ap_cover'] : $upload->uk86_getSysSetPath() . $upload->thumb_image;
     $data['file_id'] = $ap_id > 0 ? $pic_info['ap_id'] : $result;
     /**
      * 整理为json格式
      */
     $output = json_encode($data);
     echo $output;
     die;
 }