Esempio n. 1
0
 /**
  * 添加上传一张图片
  * @param array $names
  * @param array $tags
  * @param array $desc
  * @param array $files
  * @param array $server
  * @param User  $user
  * @return array
  */
 public function add($names, $tags, $desc, $files, $server, $user)
 {
     $this->checkServer($server);
     $n_c = count($names);
     $t_c = count($tags);
     $d_c = count($desc);
     $f_c = isset($files['name']) ? count($files['name']) : 0;
     if ($t_c > 20) {
         $this->throwMsg(-3);
     }
     if ($tags == 0 || $t_c !== $d_c || $d_c !== $f_c || $t_c !== $f_c || $n_c != $t_c) {
         $this->throwMsg(-2);
     }
     unset($n_c, $t_c, $d_c, $f_c);
     c_lib()->load('upload');
     $lib = $server['meta']['_Lib'] . "";
     $upload = new Upload(['exts' => ['jpg', 'png', 'gif'], 'sub_status' => true, 'replace' => false, 'max_size' => 5 * 1024 * 1024, 'image_info' => true], $lib, $server['meta']);
     $info = $upload->upload([$files]);
     for ($i = 0; $i < count($info); $i++) {
         $info[$i]['key'] = $this->getIndexOfArray($info[$i]['name'], $files['name']);
     }
     $rt = ['list' => [], 'error' => []];
     foreach ($info as $v) {
         $tmp = $this->insert_data($v['save_path'] . $v['save_name'], $server, $names[$v['key']], $tags[$v['key']], $desc[$v['key']], $user->getId(), $v['image']['width'], $v['image']['height']);
         if (is_int($tmp)) {
             $rt['list'][] = $tmp;
         } else {
             $rt['error'][] = $tmp;
         }
     }
     return $rt;
 }
Esempio n. 2
0
 /**
  * @param User $user
  */
 public function upload_avatar($user)
 {
     c_lib()->load('upload');
     $upload = new Upload(['root_path' => 'avatar', 'exts' => ['jpg', 'png'], 'sub_status' => false, 'name_callback' => [function ($param) {
         return $param;
     }, $user->getId()], 'replace' => true, 'max_size' => 500 * 1024, 'save_ext' => 'jpg'], 'Local');
     if (!isset($_FILES['avatar'])) {
         $this->throwMsg(-16);
     }
     $info = $upload->uploadOne($_FILES['avatar']);
     lib()->load('Avatar');
     $avatar = new Avatar();
     $avatar->process_avatar($info['save_name'], 400, 400);
 }