欧美极品在线观看不卡|国产精品Va免费视频|国产国产人无码在线免费|亚洲精品无码九九九九九|亚洲国产综合精品久久久久|成人国产在线观看高清不卡|制服诱惑一区二区三区六区|国产一区二区精品高清在线观看

新聞中心

joomla手動實現(xiàn)后臺上傳和縮略圖入庫擴展實現(xiàn)方法分享

作者 / 無憂主機 時間 2014-07-29 15:33:24

小編發(fā)現(xiàn)我們無憂主機joomla的教程比較少,今天說說joomla的一個實用功能就是——如何擴展上傳圖片的同時生成縮略圖,這樣就不用在顯示圖的時候設(shè)置寬度高度,而且可以讓頁面加載很快,對于圖片展示類型網(wǎng)站和模版類網(wǎng)站,小編認為大家都需要這樣一個實用的功能的吧.在joomla1.5版本沒有自帶這個功能,其實這個功能是可以實現(xiàn)的,并且在上傳的時候自動存入數(shù)據(jù)庫.在數(shù)據(jù)庫里面,用當(dāng)前時間戳來保存圖片名字,這樣不會有重命名問題.如果大家想保存原名字,那么可以存入數(shù)據(jù)庫。對于圖片,只保存一張圖片文件的名字,縮略圖我們使用前綴_時間戳來保存,時間戳和大圖是一樣的.這樣可以減少一個字段。好了原理就是這樣。接下來小編就教大家如何實現(xiàn)這個功能: 對于上傳來的圖片,需要進行處理,小編得到的圖像代碼 代碼如下: $file = JRequest::getVar( 'template_full_image', '', 'files', 'array' );//獲得傳過來的圖片 jimport('joomla.filesystem.file'); $filenameext=explode(".",$file['name']); $filenameextcount=count($filenameext); $outputfile= time().".".$filenameext[(int)$filenameextcount-1]; $filepath = JPath::clean(JPATH_ROOT.DS.'components/com_templateshow/upload/images/'.strtolower($outputfile)); if (!JFile::upload($file['tmp_name'], $filepath)) { JError::raiseWarning(100, JText::_('Error. Unable to upload file')); return; }else{ $types = $filenameext[(int)$filenameextcount-1]; list($width, $height) = getimagesize($filepath); $thumb = JPath::clean(JPATH_ROOT.DS.'components/com_templateshow/upload/images/s_'.strtolower($outputfile)); if('gif' == $types ){ $gif = imagecreatefromgif($filepath); imagesavealpha($gif,true); $gifc = imagecreate(156, 145); imagealphablending($gifc,false); imagesavealpha($gifc,true); imagecopyresampled($gifc,$gif, 0, 0, 0, 0, 156, 145, $width, $height); imagegif($gifc,$thumb); } if( 'jpg' ==$types || 'jpeg' ==$types ){ $gif = imagecreatefromjpeg($filepath); $gifc = imagecreatetruecolor(156, 145); imagecopyresampled($gifc,$gif, 0, 0, 0, 0, 156, 145, $width, $height); imagejpeg($gifc,$thumb); } if( 'png' ==$types ){ $gif = imagecreatefrompng($filepath); imagesavealpha($gif,true); $gifc = imagecreatetruecolor(156, 145); imagealphablending($gifc,false); imagesavealpha($gifc,true); imagecopyresampled($gifc,$gif, 0, 0, 0, 0, 156, 145, $width, $height); imagepng($gifc,$thumb); } $row->template_full_image = strtolower($outputfile); //縮略圖文件賦值給字段 } 這上邊就是基本代碼,接下來小編說說基本的流程,就是把傳過來的圖片,首先取得擴展名,然后記錄當(dāng)前的時間戳,當(dāng)作文件名字保存,上傳這張圖片,接著讀取這張圖片,對圖片只能處理jpg和png和gif三種格式,也是最常見的圖片格式,大家應(yīng)該知道jpg最好處理,一般不會出什么問題。但是gif圖片由于背景是透明的,如果設(shè)置不對就會出現(xiàn)背景變成黑色,還有png也存在這樣的問題,這里小編用的if語句,也可以用其他語句。圖片統(tǒng)一縮略大小156 X 146像素大小.這些數(shù)據(jù)都可以自己改的,小編這里是程序中部分代碼,有些地方可能不太嚴格,可能有bug,不過功能是實現(xiàn)的,處理方法當(dāng)然多種多樣,總的來說縮略圖處理不難,更簡單的辦法是大家可以寫一個或者網(wǎng)上找一個不錯的圖片處理類的程序,就可以實現(xiàn)上傳自動生成縮略圖,水印等功能。在這里小編就不一一介紹了。 至于顯示圖片,只需要讀取數(shù)據(jù)庫圖片名稱,然后把地址連接上即可,由于縮略圖和原圖文件名有鏈接,小編是用原圖時間戳 1300000.jpg,那么縮略圖s_1300000.jpg,這也是常見處理縮略圖和原圖的辦法,時間戳可以保證圖片不會覆蓋。 希望可以幫助到各位站在朋友! 無憂主機相關(guān)文章推薦閱讀: JOOMLA網(wǎng)站程序首頁打開慢 如何刪除JOOMLA字體設(shè)置按鈕 JOOMLA網(wǎng)站文章網(wǎng)頁如何顯示EXCEL文檔 JOOMLA3.0官方下載:JOOMLA3.0與JOOMLA2.5之前的區(qū)別?  

本文地址:http://www.gle-technology.com/joomla/15250.html

1
1
1
1
1
1
1

客戶服務(wù)熱線

0791-8623-3537

在線客服