返回舊版| 微信建站| 我要建站 | 建站學習 | 加入收藏
DEDECMS當前位置:首頁 > cms教程 > 綜合cms > DEDECMS > 正文

dedecms其他模塊上傳圖片有漢字時候無法顯示圖片問題

發布時間:2019-06-28 15:28:30   來源:   點擊:
很久沒有研究織夢系統了,現在反過來看一下織夢系統代碼,感覺確實不怎么地

最近根據友情鏈接設計新模塊的時候,發現友情鏈接上傳圖片,能上傳成功但是前端無法顯示,原因就是友情鏈接的圖片上傳到了uploads/flink文件夾下,而官方為了安全會對link這個詞過濾,造成flink被轉成了fli<x>nk,所以造成圖片無法讀取,這就讓人很尷尬了,自己把自己給攔住了。
修復方法
1、直接把flink文件名稱改了改成userup
(1)dede/friendlink_add.php 第27行
  1. $imgurl = $cfg_medias_dir."/flink"
(2)/dede/friendlink_edit.php   61-62行
  1. $request->MoveUploadFile('logoimg', DEDEROOT.'/uploads/flink/'.$request->GetFileInfo('logoimg''name'));$logo = $cfg_cmspath.'/uploads/flink/'.$request->GetFileInfo('logoimg''name'); 
把上面的flink改成其他名字

2、修改 /include/datalistcp.class.php去掉安全過濾

  1. $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2); 
改成:
  1. $replacement = substr($ra[$i], 0, 2).substr($ra[$i], 2); 

但是這也僅僅只是對路徑flink的處理,如果我們上傳的圖片中包含中文的時候,這些模塊是不進行重命名而是直接存入數據庫的,這就會造成上傳的圖片的中文變成亂碼,為了保險需要對圖片名稱重命名,
參考代碼:
  1. $logoimg = $request->Upfile('logoimg'''); 
  2. $ex = $request->GetShortname('logoimg');//獲取后綴 
  3. $randname = date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$ex;//隨機命名 
  4.     if(!empty($logoimg)){ 
  5.         $request->MoveUploadFile('logoimg', DEDEROOT.'/uploads/userup/'.$randname); 
  6.         $logo = $cfg_cmspath.'/uploads/userup/'.$randname; 
  7.     } 
這樣既可以對圖片重命名,再也不用擔心圖片含有中文變成亂碼了


版權所有:鄭州騰石網絡科技有限公司 備案信息:豫ICP備18019117號
站長QQ:2863868475 業務合作咨詢:15137100750(同微信)
本站所有投放的廣告是有其他網站提供,不代表本站立場,同時網站首頁廣告位對外出租詳情咨詢本站站長!同時歡迎廣大站長加入個人建站團隊
  • 建站客服
  • CMS仿站
  • CMS學習
  • 技術交流群:336572814
棋牌app源码 天津时时彩开奖器 老时时手机走势图 九龙公式② 北京pk开奖官方 白小姐一透特 大乐透开奖结果彩开奖号码 上海时时票控 新疆时时彩开奖号网址 赵丽颖杨幂合作新剧 快乐阅读