本篇主要是為這篇文章(未備案域名怎么使用國內cdn加速網站?)進行pbootcms相關補充,主要為了解決網站放在香港小水管主機圖片加載太慢問題,或者放國內主機帶寬小且網站圖片多。此二開實現圖片走七牛云等提供鏡像存儲的cdn服務商,這樣可以明顯提高網站加載速度。
加速原理:圖片后臺上傳到本地,然后前臺訪問網頁的時候圖片會自動鏡像一份到七牛云上,接著返回七牛云的圖片鏈接到網頁上顯示,實現圖片加速訪問。
安心提示:此方法是本地依舊有圖片,七牛云鏡像一份,所以后期不用七牛云了,也不影響網站圖片加載!
如果以下教程不想看,想直接快速一鍵替換文件,請點擊->【一鍵替換文件】PbootCMS自動替換圖片地址為七牛云cdn鏡像鏈接¥6
【一鍵替換文件】是適合不想自行動手的人、手殘黨等,那么可以選擇支持一罐紅牛給站長~
二開增加自動替換圖片地址
1、configconfig.php里增加:(注意前一行需要以逗號結尾,默認官方版本無逗號需要自行加上)
// cdn鏈接地址,http(s)://img.xxx.com,尾巴不帶“/”,單獨調用{pboot:cdnurl} 'cdn_url' => '',
2、ppshomecontrollerParserController.php里搜索function adjustLabelData,在其下方增加:
// 自動替換圖片鏈接 @mk-cdn if ($cdn_url = $this->config('cdn_url')) { if (strpos($data,$cdn_url)===false) { $src_ori_file = ROOT_PATH . $data; $out_cdn_file = rtrim($cdn_url,'/') . $data; if (! file_exists($out_cdn_file) && file_exists($src_ori_file) && $out_cdn_file!=rtrim($cdn_url,'/')) { $data = $out_cdn_file; } } }
3、ppshomecontrollerParserController.php里搜索{pboot:pageurl},在其下方增加:
$content = str_replace('{pboot:cdnurl}', rtrim($this->config('cdn_url'),'/'), $content); // 單獨cdn地址調用標簽 @mk-cdn
4、ppshomecontrollerIndexController.php里搜索$this->getContent($data),在其上方增加:
// 編輯器圖片加cdn @mk-cdn if ($cdn_url = Config::get('cdn_url')) { $data->content = str_replace('="/static/upload/', '="'.rtrim($cdn_url,'/').'/static/upload/', $data->content); }
至此,后面只要去config里添加cdn鏡像鏈接即可。
七牛云鏡像操作參考文章:https://www.pbhtml.com/282.html
2021-07-26更新補充
經測試發現如果前臺圖片做了裁剪cdn替換圖片地址會失效,因此還要做以下調整。
1、打開ppshomecontrollerParserController.php
2、找到$maxheight = isset($params['maxheight']) ? $params['maxheight'] : null;下面增加一行
if ($cdn_url) $data = str_replace(rtrim($cdn_url,'/'), '', $data);
3、在這個判斷if (! file_exists($max_out_file) && file_exists($max_src_file)) {結束的下一行增加
if ($cdn_url && file_exists($max_out_file)) { if (strpos($data,$cdn_url)===false) { $out_cdn_file_2 = rtrim($cdn_url,'/') . $data; if (! file_exists($out_cdn_file_2) && file_exists($max_out_file) && $out_cdn_file_2!=rtrim($cdn_url,'/')) { $data = $out_cdn_file_2; } } }
4、找到$height = isset($params['height']) ? $params['height'] : null;下面增加一行
if ($cdn_url) $data = str_replace(rtrim($cdn_url,'/'), '', $data);
5、在這個判斷if (! file_exists($out_file) && file_exists($src_file)) {結束的下一行增加
if ($cdn_url && file_exists($out_file)) { if (strpos($data,$cdn_url)===false) { $out_cdn_file_3 = rtrim($cdn_url,'/') . $data; if (! file_exists($out_cdn_file_3) && file_exists($out_file) && $out_cdn_file_3!=rtrim($cdn_url,'/')) { $data = $out_cdn_file_3; } } }
2021-08-23 單頁編輯器替換補充
打開appshomecontrollerIndexController.php,找到function getAbout后,
$content = $this->parser->parserAfter($content); // CMS公共標簽后置解析
把上面代碼下方增加:
// 編輯器圖片加cdn @mk-cdn if ($cdn_url = Config::get('cdn_url')) { $content = str_replace('="/static/upload/', '="'.rtrim($cdn_url,'/').'/static/upload/', $content); }
效果截圖:
以上教程看后,如果你有疑問,歡迎加入本站Q群交流討論!
最后更新于 2021-08-23 11:55:14本文來源:https://www.pbhtml.com/288.html略有修改
- 1藍天采集器內容頁網址保存后自動被替換,然后導致無法采集
- 2藍天采集器起始網址無法通過POST方式批量獲取列表頁
- 3盤企建站CMS火車頭發布模塊V1.1
- 4PbootCMS模板安裝與授權方法
- 5網站SEO優化100條解答經驗分享1-30
- 6163K網站系統QQ登錄配置教程
- 7藍天采集器登錄時候的驗證碼關閉操作教程
- 8pbootcms火車頭采集器免登錄發布使用教程
- 9阿里云linux系統服務器CentOS7.6安裝寶塔教程
- 10藍天采集器發布時間選項
- 11藍天采集器請教主怎么樣把內容采集頁的源地址寫入數據庫
- 12163K網站系統視頻系統詳解+七牛遠程附件配置教程
- 13藍天采集器請求MAC如何設置渲染采集?
- 14藍天采集器希望能出官方教學視頻教程
- 15個別主機下PbootCMS后臺點擊狀態按鈕后自動跳轉到首頁
- 16藍天采集器wordpress發布到網站數據庫需怎樣設置入庫規則?
- 17狂雨小說CMS網站fileinfo插件安裝方法
- 18藍天采集器親問下 采集器 可以采集淘寶內容嗎 , 求教使用方法,一...
- 19藍天采集器正在校驗更新文件
- 20藍天采集器CentOS 7 下搭建Tor代理服務器
-
藍天采集器登錄時候的驗證碼關閉操作教···
藍天采集器默認的登錄地址為:域名/index.php?s=/Admin/index/index如何關閉這個登錄的驗證碼呢,操作教程如下:1、登錄后臺----設置---站點設置---開啟圖片驗證碼選擇否,如下圖所示;。好了,以上就是所有的設置···
-
藍天采集器采集報錯500 Inter···
php5.6和7.0都試過了,也是不行 報錯內容如下: Internal Server ErrorThe server encountered an internal error or misconfiguration and was u···
-
藍天采集器1.1版,無法MYSQL入···
1、先在采集器里測試下能否正常抓取,不能則表示ip被對方屏蔽 2、數據插入失敗表示沒有抓取到數據庫中必填的字段數據,檢查下你的規則是否正確 3、你說之前是1.0版本,之前的版本有點bug,最好重新下載覆蓋下 win系統一般會采集完才顯示信···
-
163K網站系統微信小程序注冊流程與···
前提:1、網站已配置公眾號和微信支付 2、網站已經配置HTTPS 3、已經開通163K小程序的授權一、在公眾號快速注冊并認證小程序查看注冊認證流程 目前163K已發布的小程序有三個:同城小程序、房產小程序、商城小程序,如果您預計全部發···
-
藍天采集器入數據庫日期如何操作?
如數據庫的日期如何填寫? 采集器添加一個時間字段,綁定到數據庫中