本文執行個體講述了thinkphp3.2.2實現產生多張縮圖的方法。分享給大家供大家參考。
具體實現方法如下:
複製代碼 代碼如下:
public function dz_upload() { //上傳多張縮圖 上傳2張縮圖
if (isset($_FILES['ori_img'])){
$upload = new \Think\UploadFile();// 執行個體化上傳類
$upload->maxSize = 3000000 ;// 設定附件上傳大小 C('UPLOAD_SIZE');
//$upload->savePath = './Public/Uploads/' . $path; // 設定附件上傳目錄
$upload->savePath = './Public/Uploads/' . 'thumb/'; // 設定附件上傳目錄
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 設定附件上傳類型
$upload->saveRule = 'time';
$upload->uploadReplace = true; //是否存在同名檔案是否覆蓋
$upload->thumb = true; //是否對上傳檔案進行縮圖處理
$upload->thumbMaxWidth = '100,300'; //縮圖處理寬度
$upload->thumbMaxHeight = '50,150'; //縮圖處理高度
//$upload->thumbPrefix = $prefix; //縮圖首碼
$upload->thumbPrefix = 'm_,s_'; //生產2張縮圖
//$upload->thumbPath = './Public/Uploads/' . $path . date('Ymd', time()) . '/'; //縮圖儲存路徑
$upload->thumbPath = './Public/Uploads/' . 'thumb/' . date('Ymd', time()) . '/'; //縮圖儲存路徑
//$upload->thumbRemoveOrigin = true; //上傳圖片後刪除原圖片
$upload->thumbRemoveOrigin = false; //上傳圖片後刪除原圖片
$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];
$picname = $picname[0] . '/' . '_hz' . $picname[1];
print_r($picname);
echo json_encode(array('status' => 1, 'msg' => $picname));
}
}
}
調用方法:
複製代碼 代碼如下:
$k=A("Index"); // 調用控制器Index 的koo方法 重點(lish)
$slt=$k->dz_upload();
這裡要注意thinkphp3.2.2並沒有UploadFile,UploadImage 類,需要從擴充包裡提取出來再自己加入,把他們放到ThinkPHP\Library\Think目錄下.
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》及《ThinkPHP常用方法總結》
希望本文所述對大家基於ThinkPHP架構的PHP程式設計有所協助。