這篇文章主要為大家詳細介紹了使用ThinkPHP產生縮圖及顯示的相關資料,具有一定的參考價值,感興趣的小夥伴們可以參考一下
使用ThinkPHP產生縮圖及顯示,具有一定的參考價值,感興趣的小夥伴們可以參考一下
首先瞭解父類Image.class.php(ThinkPHP/Library/Think/Image.class.php)中的一些函數
1:open() 開啟被處理的圖片
2:thumb() 產生縮圖 預設1等比縮放 (其中2,3,4,5,6代表的含義參見父類檔案Image.class.php)
3:save() 縮圖到伺服器
產生縮圖步驟分以下四步
* 1.執行個體化
* 2.開啟圖片open()
* 3.產生縮圖thumb() 預設等比縮放
* 4.儲存save()
控制器代碼:
//大圖路徑(此處大圖路徑可參考上篇 “使用ThinkPHP實現附件上傳”的上傳路徑)$bigimg_path = $upload->rootPath.$file_info['savepath'].$file_info['savename'];//小圖路徑$smallimg_path = $upload->rootPath.$file_info['savepath'].'small_'.$file_info['savename'];$img = new \Think\Image(); //執行個體化$img->open($bigimg_path); //開啟被處理的圖片$img->thumb(100,100); //製作縮圖(100*100)$img->save($smallimg_path); //儲存縮圖到伺服器//把上傳好的附件及縮圖存到資料庫$_POST['goods_big_img']=$bigimg_path;$_POST['goods_small_img']=$smallimg_path;
入口檔案設定常量
為前台顯示縮圖路徑方便,在入口檔案index.php設定常量,表示網站路徑,和資料庫存放的圖片路徑拼接
define('SITE_URL', 'http://www.tp.com/TP/shop/');
前台顯示大圖及縮圖
<td><!-- 大圖 --> <img src="<{$smarty.const.SITE_URL}><{$v.goods_big_img}>" height="60" width="60"></td><td><!-- 小圖 --> <img src="<{$smarty.const.SITE_URL}><{$v.goods_small_img}>" height="40" width="40"></td>
結果
資料庫裡存放路徑
圖片
前台顯示
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!