本篇主要是为这篇文章(未备案域名怎么使用国内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小浣熊漫画cms首页热门点击数人气是0的处理方法
- 3蓝天采集器我想在起始页设置参数,每执行一次加20怎么弄,跪求
- 4蓝天采集器希望能优化的地方
- 5蓝天采集器安装不了,啥情况
- 6蓝天采集器使用中发现几个问题
- 7蓝天采集器年后上线新版本,敬请期待!
- 8蓝天采集器IP代理使用方法
- 9蓝天采集器在数据安装的界面输入完成信息之后 无法安装
- 10蓝天采集器数据库问题
- 11迅睿cms火车头采集器免登录发布模块使用说明
- 12蓝天采集器数据库问题
- 13163K网站系统结算/提现自动支付到微信零钱的教程(X版)
- 14蓝天采集器翻译功能可否增加腾讯翻译君API?
- 15蓝天采集器采集到的磁力链接前面有固定网址怎么去除?!
- 16蓝天采集器需要采集的字段,他们的class都同名 怎么办?
- 17蓝天采集器设置不要img参数教程
- 18蓝天采集器奇葩了模拟匹配可以获取内容 正事采集获取不到
- 19蓝天采集器刚下载了2.2版本的,不知道该怎么使用?
- 20蓝天采集器如何设置略缩图教程
-
proc_open函数如何开启操作教···
(PHP 4 >= 4.3.0, PHP 5, PHP 7)proc_open — 执行一个命令,并且打开用来输入/输出的文件指针。蓝天采集器在开启渲染模式的时候会要求先开启proc_open函数,proc_open函数可以操作执行服···
-
火车头免登录发布模块pbootcms···
蜀戎网今天给大家带来的火车头免登录发布模块和入库插件,一直以为pbootcms都是用的是web发布模块,每次都需要去登录非常的麻烦,群里小伙伴也有需要的所以就干脆写了一下如下图;以上呢是pbootcms的后台所有字段参数,已经是非常的详细了···
-
阿里云ESC服务器linux系统Ce···
FinalShell是目前使用人数非常多的一款远程连接终端管理器,FinalShell远程连接以后是可视化浏览,很直观的可以看到服务器的运行情况,内存占用等;宝塔也有远程连接终端工具,但是不推荐使用,免费的不好用,收费版价格上千,对于一般的···
-
蓝天采集器建议增加关键字TAG提取
后期可以优化 可以先用 数据处理》函数 来实现,需要你自己写个函数
-
蓝天采集器采集腾讯企鹅号自媒体内容教···
腾讯企鹅号自媒体内容每天的阅读量是非常高的,它可以实时的吧我们发布的内容推送到腾讯自家的客户端上面;比如:天天快报、腾讯新闻客户端、微信新闻插件、手机QQ新闻插件、手机腾讯网、QQ浏览器等网络媒体中传播,曝光转化率不会逊色于微博头条等。今天···