国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

PHPCMS實現上傳圖片同時自動生成不同大小的縮略圖

2024-09-10 07:16:13
字體:
來源:轉載
供稿:網友

現有一個需求,在PHPCMS內容發布管理里面發布一篇內容,要求上傳一張圖片,傳上去大小是160*60px,然后同時自動生成一張75*75px的縮略圖,和一張48*48px的縮略圖.

解決方案:

①在模型添加字段里面添加三個圖片字段,分別是thumb,這個字段貌似默認就有,有就不用添加,thumb2,thumb3,第一個字段thumb設置圖片寬高160*160,其他字段填不填都無所謂.

②在content模塊的content控制器的add方法,modules/content/content.php,添加如下代碼:

  1. //手機游戲平臺站點上傳縮略圖,自動生成75X75,48X48的縮略圖 
  2. $siteid=$this->siteid;//獲取當前站點siteid 
  3. if ($siteid==3) { 
  4.  $rawpic=isset($_POST['info']['thumb'])?$_POST['info']['thumb']:''
  5.  //如果上傳了第一張縮略圖 
  6.  if ($rawpic) { 
  7.   $new75_75=thumb($rawpic,75,75); 
  8.   $new48_48=thumb($rawpic,48,48); 
  9.  } 
  10.  $_POST['info']['thumb2']=$new75_75
  11.  $_POST['info']['thumb3']=$new48_48

因為PHPCMS的全局函數global.func.php包含了縮略圖函數,因此上面的代碼我們可以直接使用這個thumb函數,代碼如下:

  1. function thumb($imgurl$width = 100, $height = 100 ,$autocut = 1, $smallpic = 'nopic.gif') { 
  2.  global $image
  3.  $upload_url = pc_base::load_config('system','upload_url'); 
  4.  $upload_path = pc_base::load_config('system','upload_path'); 
  5.  if(emptyempty($imgurl)) return IMG_PATH.$smallpic
  6.  $imgurl_replacestr_replace($upload_url''$imgurl); 
  7.  if(!extension_loaded('gd') || strpos($imgurl_replace'://')) return $imgurl
  8.  if(!file_exists($upload_path.$imgurl_replace)) return IMG_PATH.$smallpic;//開源軟件:Vevb.com 
  9.  
  10.  list($width_t$height_t$type$attr) = getimagesize($upload_path.$imgurl_replace); 
  11.  if($width>=$width_t || $height>=$height_treturn $imgurl
  12.  m.survivalescaperooms.com 
  13.  $newimgurl = dirname($imgurl_replace).'/thumb_'.$width.'_'.$height.'_'.basename($imgurl_replace); 
  14.  
  15.  if(file_exists($upload_path.$newimgurl)) return $upload_url.$newimgurl
  16.  
  17.  if(!is_object($image)) { 
  18.   pc_base::load_sys_class('image','','0'); 
  19.   $image = new image(1,0); 
  20.  } 
  21.  return $image->thumb($upload_path.$imgurl_replace$upload_path.$newimgurl$width$height''$autocut) ? $upload_url.$newimgurl : $imgurl

這樣就把生成的75*75和48*48的兩張圖片的路徑存入了數據庫表中對應的字段,同理在edit方法里復制這段代碼.

③另外,為了在添加內容的時候方便,不顯示thumb2和thumb3的上傳縮略圖的標簽,因為它是函數自動生成的,而且也無需編輯手動上傳,因此把它給隱藏掉比較好,在content控制器對應的模板content_add.tpl.php和content_edit.tpl.php的底部,有一段jquery包含的代碼中添加如下代碼:

  1. /* 
  2.  * 手機平臺站點隱藏縮略圖2和縮略圖3 
  3.  */ 
  4.  
  5. $("#thumb2,#thumb3").parent().hide(); 
  6. $("#thumb2,#thumb3").parent().prev().hide(); 

這樣發布文章的編輯器就隱藏其他兩個縮略圖字段了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 社旗县| 固始县| 永胜县| 永寿县| 随州市| 西林县| 稷山县| 石渠县| 贵溪市| 威远县| 平阴县| 三亚市| 蒙阴县| 南川市| 香格里拉县| 什邡市| 大姚县| 阳朔县| 柳河县| 澜沧| 康定县| 泰州市| 社旗县| 屏边| 洪洞县| 蚌埠市| 高陵县| 武山县| 勐海县| 江永县| 绍兴县| 黎城县| 新竹县| 龙门县| 雷波县| 巴里| 平山县| 丰顺县| 元谋县| 佛教| 简阳市|