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

首頁 > CMS > 織夢DEDE > 正文

織夢cms系統手機移動端圖片打不開的解決方法

2024-08-30 19:07:35
字體:
來源:轉載
供稿:網友

不少人都在使用織夢cms系統,對于pc端還好,圖片使用相對路徑都可以打開,可是一旦開通的移動端,圖片就成了死鏈接了,如此怎么樣解決呢,其實方法很多,下面我們就來介紹下簡單的方法吧!

很多朋友使用dedecms的時候都用了二級域名的功能,所以造成很多文章中圖片不顯示的問題。在百度后得到一個方法就是進入dede后臺“系統”-“系統基本參數”-“核心設置”,開啟支持多站點,結果也不管用。

相關閱讀:http://m.cuoXin.com/cms/201817606.html

終極 解決方法

找到 include/dialog/select_images_post.php 第108行

$fileurl = $activepath.’/’.$filename;

換成:

$fileurl = ‘你的域名’.$activepath.’/’.$filename;

這樣就可以完美實現dedecms上傳圖片相對路徑改成絕對路了。

dedecms升級到5.7SP1后,開啟二級域名,你會發現,在二級域名下的文章,上傳的圖片地址都是:二級域名+圖片地址,這是相對路徑。但是你的圖片是默認上傳在uploads里面的。應該使用絕對路徑。這就出現圖片路徑錯誤,導致圖片不顯示。那怎么修改這種情況呢?我在網上看了好多方法,但是大部分最終是不可用的。在這里,將兩種有效的方法分享給大家。這兩種方法都是在你開啟“多站點支持”、“綁定完二級域名”的前提下。

第一種:批量修改域名下所有文章內的圖片路徑。

1、進后臺-核心-批量維護-數據庫內容替換

2、選擇表 dede_addonarticle

3、字段 body

4、被替換內容: src="/uploads/

5、替換為:src="http://你的域名/uploads/

6、點擊“開始替換”

提示完成后就代表替換完成。 生成一下文章,你就發現前臺顯示正常了。

這種方法對于網站不大經常更新的站長比較適合,如果你每天都會更新網站文章,這個方法就會太繁瑣了!下面介紹第二種方法。徹底解決這個問題。

第二種:修改程序文件,增加一個參數。

1、找到include下的文件extend.func.php

2、在文件最后增加一個參數。(php函數的結束括號外)

function replaceurl($newurl)

{

$newurl=str_replace('src="/uploads/allimg/','src="http://你的域名/uploads/allimg/',$newurl);

return $newurl;

}

3、將文章正文的調用標簽 {dede:field.body/}修改成 {dede:field.body function='replaceurl(@me)'/}

4、傳到服務器,在測試一下就會發現,問題解決!

織夢縮略圖:

在插入數據庫和修改數據庫的時候(添加和編輯),只需判斷當前縮略圖是否包含域名這個字符串,如果包含了就不做操作,沒包含就加一個絕對路徑,就解決了.也就是這里只需要改一個地方,就是操作數據庫前處理下就好了.我用的是這種.

下面是詳細代碼:

大家打開織夢的后臺路徑默認是dede/article_add.php和 dede/article_edit.php

兩個文件一個是添加的時候,一個是編輯的時候

搜索if(preg_match("#j#", $flag)) $ismake = -1; 這句代碼

在這句代碼的上面加入以下代碼:

if($litpic!='' && !checkstr($litpic,$cfg_basehost)){

$litpic=$cfg_basehost.$litpic;

}

然后隨便在include的一個php文件里面加入以下代碼:

function checkstr($str,$str1){

//判斷是否包含$str1這個字符

$tmparray = explode($str1,$str);

if(count($tmparray)>1){

return true;

} else{

return false;

}

}

就解決了,這個判斷的意思就是如果縮略圖不為空的話,并且縮略圖url不包含域名的話,就給他加一個域名,這樣就解決了.

昨天那篇教程只寫了關于縮略圖的,因為當時客戶沒和我說織夢內容頁里面也需要轉為帶域名的絕對路徑.

所以今天早上就把后面的代碼寫完了.我直接寫代碼吧.

打開include/dialog/select_images_post.php這個文件,然后在108行

$fileurl = $activepath.'/'.$filename;

改為

$fileurl = $cfg_basehost.$activepath.'/'.$filename;

這里的意思就是編輯器上傳的時候,帶上域名這樣的絕對路徑.

然后打開/dede/inc/inc_archives_functions.php

找到436行的樣子

global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;

改為

global $cfg_basehost,$cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;

找到481行的樣子

if($isremote==1 && preg_match("#^http:////#i", $picname))

改成

if(($isremote==1 && preg_match("#^http:////#i", $picname)) && !checkstr($picname,$cfg_basehost))

找到502行的樣子

if(($litpic=='ddfirst' && !preg_match("#^http:////#i", $picname))

改為

if(($litpic=='ddfirst' && !preg_match("#^http:////#i", $picname)) || ($litpic=='ddfirst' && checkstr($picname,$cfg_basehost)))

找到503行的樣子

$oldpic = $cfg_basedir.$picname;在這句代碼的上面加一句 $picname = str_replace($cfg_basehost,'',$picname);

然后可以把滾動條拉到最下面 加入以下函數:

function checkstr($str,$str1){

//判斷是否包含$str1這個字符

$tmparray = explode($str1,$str);

if(count($tmparray)>1){

return true;

} else{

return false;

}

}

那么基本就搞定了

具體什么意思我就不說了,看的懂的看代碼就懂了,看不懂的說了也沒用.

織夢CMS縮略圖和文章內容圖片自動轉化為帶域名的絕對路徑 這個教程也就講完了,希望可以幫助到大家

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莲花县| 渑池县| 中宁县| 新巴尔虎右旗| 广水市| 会东县| 寿宁县| 阿瓦提县| 民乐县| 团风县| 潜山县| 玉树县| 乌拉特中旗| 攀枝花市| 大埔区| 台东市| 井陉县| 扬中市| 渝中区| 紫云| 类乌齐县| 平顶山市| 泸溪县| 宿迁市| 双峰县| 武乡县| 寿宁县| 巴中市| 依安县| 板桥市| 汤原县| 湛江市| 许昌市| 嵩明县| 高密市| 云和县| 文山县| 垦利县| 吴忠市| 江西省| 蒙城县|