public function do_upload()
 {
     if (intval($_REQUEST['upload_type']) == 0) {
         $result = $this->uploadFile();
     } else {
         $result = $this->uploadImage();
     }
     if ($result['status'] == 1) {
         $list = $result['data'];
         if (intval($_REQUEST['upload_type']) == 0) {
             $file_url = "." . $list[0]['recpath'] . $list[0]['savename'];
         } else {
             $file_url = "." . $list[0]['bigrecpath'] . $list[0]['savename'];
         }
         /*$html = '<html>';
         		$html.= '<head>';
         		$html.= '<title>Insert Image</title>';
         		$html.= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
         		$html.= '</head>';
         		$html.= '<body>';
         		$html.= '<script type="text/javascript">';
         		$html.= 'parent.parent.KE.plugin["image"].insert("' . $_POST['id'] . '", "' . $file_url . '","' . $_POST['imgTitle'] . '","' . $_POST['imgWidth'] . '","' . $_POST['imgHeight'] . '","' . $_POST['imgBorder'] . '","' . $_POST['align'] . '");';
         		$html.= '</script>';
         		$html.= '</body>';
         		$html.= '</html>';
         		echo $html;*/
         $public_url = $file_url;
         if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != 'NONE') {
             if ($_REQUEST['dir'] != 'file') {
                 syn_to_remote_image_server($file_url);
             }
         }
         $file_url = str_replace("./public/", SITE_DOMAIN . APP_ROOT . "/public/", $file_url);
         ajax_return(array('error' => 0, 'url' => $file_url, 'public_url' => $public_url));
     } else {
         //echo "<script>alert('".$result['info']."');</script>";
         ajax_return(array('error' => 1, 'message' => $result['info']));
     }
 }
 public function upload()
 {
     if ($GLOBALS['user_info']['id'] == 0) {
         $data['status'] = 0;
         //未登录
         $data['msg'] = "请先登录";
         ajax_return($data);
     }
     //上传处理
     //创建avatar临时目录
     if (!is_dir(APP_ROOT_PATH . "public/avatar")) {
         @mkdir(APP_ROOT_PATH . "public/avatar");
         @chmod(APP_ROOT_PATH . "public/avatar", 0777);
     }
     if (!is_dir(APP_ROOT_PATH . "public/avatar/temp")) {
         @mkdir(APP_ROOT_PATH . "public/avatar/temp");
         @chmod(APP_ROOT_PATH . "public/avatar/temp", 0777);
     }
     $upd_id = $id = intval($_REQUEST['uid']);
     $_FILES['avatar_file'] = $_FILES['file'];
     if (is_animated_gif($_FILES['avatar_file']['tmp_name'])) {
         $rs = save_image_upload($_FILES, "avatar_file", "avatar/temp", $whs = array(), false, true);
         if ($rs['error'] == 1) {
             ajax_return($rs);
         }
         $im = get_spec_gif_anmation($rs['avatar_file']['path'], 48, 48);
         $file_name = APP_ROOT_PATH . "public/avatar/temp/" . md5(NOW_TIME . $upd_id) . "_small.jpg";
         file_put_contents($file_name, $im);
         $img_result['avatar_file']['thumb']['small']['path'] = $file_name;
         $im = get_spec_gif_anmation($rs['avatar_file']['path'], 120, 120);
         $file_name = APP_ROOT_PATH . "public/avatar/temp/" . md5(NOW_TIME . $upd_id) . "_middle.jpg";
         file_put_contents($file_name, $im);
         $img_result['avatar_file']['thumb']['middle']['path'] = $file_name;
         $im = get_spec_gif_anmation($rs['avatar_file']['path'], 200, 200);
         $file_name = APP_ROOT_PATH . "public/avatar/temp/" . md5(NOW_TIME . $upd_id) . "_big.jpg";
         file_put_contents($file_name, $im);
         $img_result['avatar_file']['thumb']['big']['path'] = $file_name;
     } else {
         $img_result = save_image_upload($_FILES, "avatar_file", "avatar/temp", $whs = array('small' => array(48, 48, 1, 0), 'middle' => array(120, 120, 1, 0), 'big' => array(200, 200, 1, 0)), false, true);
         if ($img_result['error'] == 1) {
             ajax_return($img_result);
         }
     }
     //开始移动图片到相应位置
     $uid = sprintf("%09d", $id);
     $dir1 = substr($uid, 0, 3);
     $dir2 = substr($uid, 3, 2);
     $dir3 = substr($uid, 5, 2);
     $path = $dir1 . '/' . $dir2 . '/' . $dir3;
     //创建相应的目录
     if (!is_dir(APP_ROOT_PATH . "public/avatar/" . $dir1)) {
         @mkdir(APP_ROOT_PATH . "public/avatar/" . $dir1);
         @chmod(APP_ROOT_PATH . "public/avatar/" . $dir1, 0777);
     }
     if (!is_dir(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2)) {
         @mkdir(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2);
         @chmod(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2, 0777);
     }
     if (!is_dir(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2 . '/' . $dir3)) {
         @mkdir(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2 . '/' . $dir3);
         @chmod(APP_ROOT_PATH . "public/avatar/" . $dir1 . '/' . $dir2 . '/' . $dir3, 0777);
     }
     $id = str_pad($id, 2, "0", STR_PAD_LEFT);
     $id = substr($id, -2);
     $avatar_file_big = APP_ROOT_PATH . "public/avatar/" . $path . "/" . $id . "virtual_avatar_big.jpg";
     $avatar_file_middle = APP_ROOT_PATH . "public/avatar/" . $path . "/" . $id . "virtual_avatar_middle.jpg";
     $avatar_file_small = APP_ROOT_PATH . "public/avatar/" . $path . "/" . $id . "virtual_avatar_small.jpg";
     @file_put_contents($avatar_file_big, file_get_contents($img_result['avatar_file']['thumb']['big']['path']));
     @file_put_contents($avatar_file_middle, file_get_contents($img_result['avatar_file']['thumb']['middle']['path']));
     @file_put_contents($avatar_file_small, file_get_contents($img_result['avatar_file']['thumb']['small']['path']));
     if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != 'NONE') {
         syn_to_remote_image_server($avatar_file_big);
         syn_to_remote_image_server($avatar_file_middle);
         syn_to_remote_image_server($avatar_file_small);
     }
     @unlink($img_result['avatar_file']['thumb']['big']['path']);
     @unlink($img_result['avatar_file']['thumb']['middle']['path']);
     @unlink($img_result['avatar_file']['thumb']['small']['path']);
     @unlink($img_result['avatar_file']['path']);
     //上传成功更新用户头像的动态缓存
     update_avatar($upd_id);
     $data['status'] = 1;
     $data['small_url'] = get_user_avatar($upd_id, "small");
     $data['middle_url'] = get_user_avatar($upd_id, "middle");
     $data['big_url'] = get_user_avatar($upd_id, "big");
     ajax_return($data);
 }
Exemplo n.º 3
0
 /**
  * 分享点评的上传,上传到comment目录,按日期划分
  * 错误返回 error!=0,message错误消息, error=1000表示未登录
  * 正确时返回 error=0, url: ./public格式的文件相对路径  path:物理路径 name:文件名
  * thumb->preview 100x100的小图 url,path
  */
 public function upload_topic()
 {
     global_run();
     if (empty($GLOBALS['user_info'])) {
         $data['error'] = 1000;
         //未登录
         $data['msg'] = $GLOBALS['lang']['PLEASE_LOGIN_FIRST'];
         ajax_return($data);
     }
     //上传处理
     //创建comment目录
     if (!is_dir(APP_ROOT_PATH . "public/comment")) {
         @mkdir(APP_ROOT_PATH . "public/comment");
         @chmod(APP_ROOT_PATH . "public/comment", 0777);
     }
     $dir = to_date(NOW_TIME, "Ym");
     if (!is_dir(APP_ROOT_PATH . "public/comment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/comment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/comment/" . $dir, 0777);
     }
     $dir = $dir . "/" . to_date(NOW_TIME, "d");
     if (!is_dir(APP_ROOT_PATH . "public/comment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/comment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/comment/" . $dir, 0777);
     }
     $dir = $dir . "/" . to_date(NOW_TIME, "H");
     if (!is_dir(APP_ROOT_PATH . "public/comment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/comment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/comment/" . $dir, 0777);
     }
     if (app_conf("IS_WATER_MARK") == 1) {
         $img_result = save_image_upload($_FILES, "file", "comment/" . $dir, $whs = array('preview' => array(50, 50, 1, 0)), 1, 1);
     } else {
         $img_result = save_image_upload($_FILES, "file", "comment/" . $dir, $whs = array('preview' => array(50, 50, 1, 0)), 0, 1);
     }
     if (intval($img_result['error']) != 0) {
         ajax_return($img_result);
     } else {
         if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != "NONE") {
             syn_to_remote_image_server($img_result['file']['url']);
             syn_to_remote_image_server($img_result['file']['thumb']['preview']['url']);
         }
     }
     $data_result['error'] = 0;
     $data_result['url'] = $img_result['file']['url'];
     $data_result['path'] = $img_result['file']['path'];
     $data_result['name'] = $img_result['file']['name'];
     $data_result['thumb'] = $img_result['file']['thumb'];
     require_once APP_ROOT_PATH . "system/utils/es_imagecls.php";
     $image = new es_imagecls();
     $info = $image->getImageInfo($img_result['file']['path']);
     $image_data['width'] = intval($info[0]);
     $image_data['height'] = intval($info[1]);
     $image_data['name'] = valid_str($_FILES['file']['name']);
     $image_data['filesize'] = filesize($img_result['file']['path']);
     $image_data['create_time'] = NOW_TIME;
     $image_data['user_id'] = intval($GLOBALS['user_info']['id']);
     $image_data['user_name'] = strim($GLOBALS['user_info']['user_name']);
     $image_data['path'] = $img_result['file']['thumb']['preview']['url'];
     $image_data['o_path'] = $img_result['file']['url'];
     $GLOBALS['db']->autoExecute(DB_PREFIX . "topic_image", $image_data);
     $data_result['id'] = intval($GLOBALS['db']->insert_id());
     ajax_return($data_result);
 }
Exemplo n.º 4
0
 /**
  * 上传文件公共基础方法
  *
  * @return array
  */
 protected function uploadFile()
 {
     $upload = new UploadFile();
     //设置上传文件大小
     $upload->maxSize = conf('MAX_IMAGE_SIZE');
     /* 配置于config */
     //设置上传文件类型
     $upload->allowExts = explode(',', conf('ALLOW_IMAGE_EXT'));
     /* 配置于config */
     $dir_name = to_date(NOW_TIME, "Ym");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir_name)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir_name);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir_name, 0777);
     }
     $dir_name = $dir_name . "/" . to_date(NOW_TIME, "d");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir_name)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir_name);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir_name, 0777);
     }
     $dir_name = $dir_name . "/" . to_date(NOW_TIME, "H");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir_name)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir_name);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir_name, 0777);
     }
     $save_rec_Path = "/public/attachment/" . $dir_name . "/";
     //上传时先存放原图
     $savePath = APP_ROOT_PATH . "public/attachment/" . $dir_name . "/";
     //绝对路径
     $domain_path = get_domain() . APP_ROOT . $save_rec_Path;
     $upload->saveRule = "uniqid";
     //唯一
     $upload->savePath = $savePath;
     if ($upload->upload()) {
         $uploadList = $upload->getUploadFileInfo();
         foreach ($uploadList as $k => $fileItem) {
             $uploadList[$k]['recpath'] = $save_rec_Path;
             if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != 'NONE') {
                 syn_to_remote_image_server("./public/attachment/" . $dir_name . "/" . $fileItem['savename']);
             }
         }
         return array("status" => 1, 'data' => $uploadList, 'info' => L("UPLOAD_SUCCESS"));
     } else {
         return array("status" => 0, 'data' => null, 'info' => $upload->getErrorMsg());
     }
 }
Exemplo n.º 5
0
 /**
  * 用户注册免登录调用上传
  */
 public function user_register_upload()
 {
     //上传处理
     //创建comment目录
     if (!is_dir(APP_ROOT_PATH . "public/attachment")) {
         @mkdir(APP_ROOT_PATH . "public/attachment");
         @chmod(APP_ROOT_PATH . "public/attachment", 0777);
     }
     $dir = to_date(NOW_TIME, "Ym");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir, 0777);
     }
     $dir = $dir . "/" . to_date(NOW_TIME, "d");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir, 0777);
     }
     $dir = $dir . "/" . to_date(NOW_TIME, "H");
     if (!is_dir(APP_ROOT_PATH . "public/attachment/" . $dir)) {
         @mkdir(APP_ROOT_PATH . "public/attachment/" . $dir);
         @chmod(APP_ROOT_PATH . "public/attachment/" . $dir, 0777);
     }
     if (app_conf("IS_WATER_MARK") == 1) {
         $img_result = save_image_upload($_FILES, "file", "attachment/" . $dir, $whs = array(), 1, 1);
     } else {
         $img_result = save_image_upload($_FILES, "file", "attachment/" . $dir, $whs = array(), 0, 1);
     }
     if (intval($img_result['error']) != 0) {
         ajax_return($img_result);
     } else {
         if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != "NONE") {
             syn_to_remote_image_server($img_result['file']['url']);
         }
     }
     $data_result['error'] = 0;
     $data_result['url'] = $img_result['file']['url'];
     $data_result['small_url'] = get_spec_image($data_result['url'], 88, 75, 1);
     $data_result['big_url'] = get_spec_image($data_result['url'], 600, 400);
     $data_result['path'] = $img_result['file']['path'];
     $data_result['name'] = $img_result['file']['name'];
     ajax_return($data_result);
 }
Exemplo n.º 6
0
 function saveimage($dir, $allow_water = true)
 {
     //image object
     require_once APP_ROOT_PATH . "system/utils/es_imagecls.php";
     $image = new es_imagecls();
     $image->max_size = intval(app_conf("MAX_IMAGE_SIZE"));
     $image->init($_FILES['file'], $dir);
     if ($image->save()) {
         $img_item['url'] = $image->file['target'];
         $img_item['path'] = $image->file['local_target'];
         $img_item['name'] = $image->file['prefix'];
         $img_item['width'] = $image->file['width'];
         $img_item['height'] = $image->file['height'];
     } else {
         if ($image->error_code == -105) {
             return array('error' => 1, 'message' => '上传的图片太大');
         } elseif ($image->error_code == -104 || $image->error_code == -103 || $image->error_code == -102 || $image->error_code == -101) {
             return array('error' => 1, 'message' => '非法图像');
         }
         exit;
     }
     //水印处理
     if ($allow_water && intval(app_conf("IS_WATER_MARK"))) {
         $is_water = intval(app_conf("IS_WATER_MARK"));
     }
     $water_image = APP_ROOT_PATH . app_conf("WATER_MARK");
     $alpha = intval(app_conf("WATER_ALPHA"));
     $place = intval(app_conf("WATER_POSITION"));
     if ($is_water) {
         $dirs = pathinfo($img_item['url']);
         $dir = $dirs['dirname'];
         $dir = $dir . "/origin/";
         $paths = pathinfo($img_item['path']);
         $path = $paths['dirname'];
         $path = $path . "/origin/";
         if (!is_dir($path)) {
             @mkdir($path);
             @chmod($path, 0777);
         }
         $filename = $paths['basename'];
         @file_put_contents($path . $filename, @file_get_contents($img_item['path']));
         $image->water($img_item['path'], $water_image, $alpha, $place);
         if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != "NONE") {
             syn_to_remote_image_server($img_item['url']);
             //同步水印图
             syn_to_remote_image_server($dir . $filename);
             //同步原图
         }
     } else {
         if ($GLOBALS['distribution_cfg']['OSS_TYPE'] && $GLOBALS['distribution_cfg']['OSS_TYPE'] != "NONE") {
             syn_to_remote_image_server($img_item['url']);
         }
     }
     return $img_item;
 }