其實很簡單,那個縮略圖寬度和高度可以定義多個,然後用逗號分割就好了。
//公***上傳private?function?_upload($width,?$height,?$path,?$prefix)?{
import('ORG.Net.UploadFile');
$upload?=?new?UploadFile();?//?實例化上傳類
$upload->maxSize?=?C('UPLOAD_SIZE');?//?設置附件上傳大小
$upload->savePath?=?'./Uploads/'?.?$path;?//?設置附件上傳目錄
$upload->allowExts?=?array('jpg',?'gif',?'png',?'jpeg');?//?設置附件上傳類型
$upload->saveRule?=?'time';
$upload->uploadReplace?=?true;?//是否存在同名文件是否覆蓋
$upload->thumb?=?true;?//是否對上傳文件進行縮略圖處理
$upload->thumbMaxWidth?=?$width;?//縮略圖處理寬度
$upload->thumbMaxHeight?=?$height;?//縮略圖處理高度
$upload->thumbPrefix?=?$prefix;?//縮略圖前綴
$upload->thumbPath?=?'./Uploads/'?.?$path?.?date('Ymd',?time())?.?'/';?//縮略圖保存路徑
$upload->thumbRemoveOrigin?=?true;?//上傳圖片後刪除原圖片
$upload->autoSub?=?true;?//是否使用子目錄保存圖片
$upload->subType?=?'date';?//子目錄保存規則
$upload->dateFormat?=?'Ymd';?//子目錄保存規則為date時時間格式
if?(!$upload->upload())?{//?上傳錯誤提示錯誤信息
echo?json_encode(array('msg'?=>?$this->error($upload->getErrorMsg()),?'status'?=>?0));
}?else?{//?上傳成功?獲取上傳文件信息
$info?=?$upload->getUploadFileInfo();
$picname?=?$info[0]['savename'];
$picname?=?explode('/',?$picname);
$picname?=?$picname[0]?.?'/'?.?$prefix?.?$picname[1];
echo?json_encode(array('status'?=>?1,?'msg'?=>?$picname));
}
}
然後妳比如生成300*300的的圖片妳就定義壹個方法
例如:?//商品縮略圖上傳
public function uploadThumb() {
return $this->_upload('230,160', '230,121', 'thumb/', 'shop_,thumb_');
}
然後400*400的就又寫壹個方法:
//商品縮略圖上傳public function uploadThumb() {
return $this->_upload('400,200', '400,200', 'thumb/', 'shop_,thumb_');
}
然後調用的不同就好了