當前位置:編程學習大全網 - 源碼下載 - ThinkPhp 生成多張不同尺寸的縮略圖

ThinkPhp 生成多張不同尺寸的縮略圖

其實很簡單,那個縮略圖寬度和高度可以定義多個,然後用逗號分割就好了。

//公***上傳

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_');

}

然後調用的不同就好了

  • 上一篇:處級app源代碼
  • 下一篇:程序員哪些技能是必須要掌握的呢?
  • copyright 2024編程學習大全網