function upload_image($image_path = '',$filed='face',$small_width=80,$small_height=80) { if($image_path == '') { $image_path = IMAGE_PATH.'/'.$filed.'/'; } $date=date("Y-m-d"); if(empty($_FILES) or empty($filed)) { return array('error'=>__('上传图片出错!请检查您的服务器环境!')); } if ($_FILES[$filed]['name']=='') { return array('error'=>__('您没有选择需要上传的图片!')); } $default_type=array('jpg','pic','png','jpeg','bmp','gif'); $imgary=explode('.',$_FILES[$filed]['name']); if(!in_array(strtolower($imgary[count($imgary)-1]),$default_type)){ return array('error'=>'不支持的图片格式 ['.$imgary[count($imgary)-1].'] !'); } require_once LIB_PATH . 'upload.han.php'; $upload_handler = new UploadHandler($_FILES, $image_path, $filed , true); if(is_dir($image_path.$date)==false or is_dir($image_path.SMALL_PIC_PREFIX.$date)==false) { require_once LIB_PATH. 'io.han.php'; IoHandler::MakeDir($image_path.$date); IoHandler::MakeDir($image_path.SMALL_PIC_PREFIX.$date); } $upload_handler->setMaxSize(1024); $name = $date.'/'.substr(md5(microtime()).'.'.strtolower(end(explode('.', $_FILES[$filed]['name']))),-15); $size = $_FILES[$field]['size']; $photo['name']=$name; $photo['size']=$size; $upload_handler->setNewName($name); $result = $upload_handler->doUpload(); if (false == $result) { return array('error'=>$upload_handler->getError()); } $result = resize_image($image_path.$name, $image_path.SMALL_PIC_PREFIX.$name, $small_width, $small_height, false); return $name; }
function UploadImage() { //$this->GotoLogin(); $name = $_FILES['Filedata']['name']; $id = rand(10, 10000000); $rpath = 'images/building/face/' . face_path($id); $image_path = __WEB_ROOT . '/' . $rpath; $image_name = $id . '_o.jpg'; $image_file = $rpath . $image_name; $image_file_s = $rpath . $id . '_s.jpg'; $image_file_t = $rpath . $id . '_t.jpg'; $image_file_p = $rpath . $id . '_p.jpg'; $pic_field = 'Filedata'; $UploadHandler = new UploadHandler($_FILES, $image_path, $pic_field, true, false); $UploadHandler->setMaxSize(2048); $UploadHandler->setNewName($image_name); $ret = $UploadHandler->doUpload(); if (!$ret) { $rets = $UploadHandler->getError(); $ret = $rets ? implode(" ", (array) $rets) : 'image upload is invalid'; $r = array('error' => $ret, 'code' => -5); if ($r['code'] < 0 && $r['error']) { $this->_image_error($rets['error']); } } list($image_width, $image_height, $image_type, $image_attr) = getimagesize($image_file); if ($image_width >= 120 && $image_height <= 120) { resizeimage($image_file, $image_file_s, 120, 0, true); } if ($image_height >= 120 && $image_height <= 120) { resizeimage($image_file, $image_file_s, 0, 120, true); } if ($image_height > 120 && $image_width > 120 && $image_width > $image_height) { resizeimage($image_file, $image_file_s, 120, 0, true); } if ($image_height > 120 && $image_width > 120 && $image_width < $image_height) { resizeimage($image_file, $image_file_s, 0, 120, true); } resizeimage($image_file, $image_file_t, 600, 0, true); resizeimage($image_file, $image_file_p, 180, 180, false); $result = array(); $result['status'] = "ok"; $result['image'] = $image_file; echo json_encode($result); }
function UploadImage() { LogMessage("UploadImage"); $this->GotoLogin(); $imgId = $this->ImgLogic->AddNewImage(); $this->Logger->Write($imgId); if (!$imgId || $imgId <= 0) { echo "0"; return; } $uid = $this->User['uid']; $this->Logger->Write($uid); $this->User = $this->UserLogic->GetUser($uid); $IoHandler = new IoHandler(); $item = $this->Post['item'] ? $this->Post['item'] : $this->Get['item']; $itemId = $this->Post['itemId'] ? $this->Post['itemId'] : $this->Get['itemId']; $imgtype = $this->Post['imgtype'] ? $this->Post['imgtype'] : $this->Get['imgtype']; $name = $_FILES['Filedata']['name']; $this->Logger->Write($name); $id = $imgId; $subfolder = 'topic'; if ($item != '') { $subfolder = $item; } else { } $rpath = 'images/' . $subfolder . '/' . face_path($id); $image_path = __WEB_ROOT . '/' . $rpath; $image_name = $id . '_o.jpg'; $image_file = $rpath . $image_name; $image_file_s = $rpath . $id . '_s.jpg'; $image_file_t = $rpath . $id . '_t.jpg'; $image_file_p = $rpath . $id . '_p.jpg'; $image_file_tp = $rpath . $id . '_tp.jpg'; $image_file_avt = ''; $pic_field = 'Filedata'; $UploadHandler = new UploadHandler($_FILES, $image_path, $pic_field, true, false); $UploadHandler->setMaxSize(3072); $UploadHandler->setNewName($image_name); $ret = $UploadHandler->doUpload(); if (!$ret) { $rets = $UploadHandler->getError(); $ret = $rets ? implode(" ", (array) $rets) : 'image upload is invalid'; $r = array('error' => $ret, 'code' => -5); if ($r['code'] < 0 && $r['error']) { $this->ImgLogic->DeleteImage($imgId); $error = $UploadHandler->getError(); $result = array(); $result['status'] = "failed"; $result['message'] = urlencode($error); echo urldecode(json_encode($result)); exit; } } $image_type = $info['type']; list($image_width, $image_height, $image_type, $image_attr) = getimagesize($image_file); //this file used for topic list $Images = new ImagesHandler('Filedata'); $Images->item_type = $item; $w = 120; $h = 120; if ($item == 'event') { $h = 105; } //if($image_width>1500){ // LogMessage('resize to 1500 size'); // resizeimage($image_file, $image_file_tp,1500,0,true); // LogMessage('resize to 1500 size done'); // $image_file=$image_file_tp; // list($image_width,$image_height,$image_type,$image_attr) = getimagesize($image_file_tp); //} LogMessage("uploaed completed,going to resize image"); if ($image_width == $image_height) { LogMessage("Width is equal to height"); $resize = $Images->thumb($image_file, false, 1, $rpath . $id, 0, 0, $image_width, $image_height, $w, $h, 'jpg'); } else { if ($image_height > $image_width) { LogMessage("Width is less than height"); $resize = $Images->thumb($image_file, false, 1, $rpath . $id, 0, 0, $image_width, $image_width, $w, $h, 'jpg'); } else { if ($image_height < $image_width) { LogMessage("Width is larger than height"); $resize = $Images->thumb($image_file, false, 1, $rpath . $id, 0, 0, $image_height, $image_height, $w, $h, 'jpg'); } } } if (!$resize) { $result['status'] = "failed"; $result['message'] = "图片上传失败"; $this->ImgLogic->DeleteImage($imgId); $IoHandler->DeleteFile($image_file); echo json_encode($result); exit; } if ($this->CallType != 'open') { //reduce the photo quality, but keep photo original width and height resizeimage($image_file, $image_file_t, 1024, 0, true); } else { copy($image_file, $image_file_t); } if ($image_file_avt && $image_file_avt != '') { resizeimage($image_file, $image_file_avt, 50, 50, false); } //this file used for photo list resizeimage($image_file, $image_file_p, 200, 0, true); //update image table $datalist = array(); $datalist['name'] = $name; $datalist['photo'] = $image_file_s; list($tWidth, $tHeight, $tType, $tAttr) = getimagesize($image_file_t); $datalist['width'] = $tWidth; $datalist['height'] = $tHeight; if ($item != '' && $itemId != '') { $datalist['item'] = $item; $datalist['itemid'] = $itemId; } $this->ImgLogic->UpdateImage($datalist, $imgId); $result = array(); $result['status'] = "ok"; $result['message'] = "图片上传成功"; $item = array(); $item['item_id'] = $imgId; $item['item_type'] = 'image'; $item['item_src'] = $image_file_s; $item['item_name'] = $name; $item['item_width'] = $tWidth; $item['item_height'] = $tHeight; $result['item'] = $item; $IoHandler->DeleteFile($image_file); echo json_encode($result); }