终极解决方法找到includedialogselect_images_post.第108行$fileurl=$activepath.
优采云 发布时间: 2021-05-03 21:12终极解决方法找到includedialogselect_images_post.第108行$fileurl=$activepath.
许多朋友在使用dede cms时会使用二级域名的功能,这会导致很多问题,即文章中的图片无法显示。百度获取方法之一是输入Dede背景“系统”-“系统基本参数”-“核心设置”,打开对多个站点的支持,结果不起作用。
最终解决方案
找到includeialogselect_images_post.php的第108行
$ fileurl = $ activepath。’/’。$ filename;
替换为:
$ fileurl =“您的域名”。$ activepath。” /“。$ filename;
通过这种方式,可以将dede cms上传图片的相对路径更改为绝对路径。
将dede cms升级到5. 7SP1后,打开第二级域名,您会发现在第二级域名文章下,上传的图像地址为:第二级域名+图片地址,即相对路径。但是默认情况下,您的图片是在上传中上传的。应该使用绝对路径。在这种情况下,图片的路径错误,并且图片无法显示。如何修改这种情况?我已经在Internet上看到了许多方法,但是大多数方法最终都不可用。在这里,我将与大家分享两种有效的方法。这两种方法都基于您启用“多站点支持”和“绑定二级域名”的前提。
第一种类型:批量修改域名下文章中的所有图像路径。
1、输入后台核心批处理维护数据库内容替换
2、选择表dede_addonarticle
3、字段正文
4、替换的内容:src =“
5、替换为:src =“ http://您的域名
6、点击“开始替换”
提示完成后,替换完成。生成文章,您将发现前景显示正常。
此方法更适合网站不经常更新的网站站长。如果每天更新网站 文章,则此方法将很麻烦!下面描述第二种方法。完全解决此问题。
第二种类型:修改程序文件并添加参数。
1、在include下找到文件extend.func.php
2、在文件末尾添加一个参数。 (在php函数的右括号之外)
函数replaceurl($ newurl)
{
$ newurl = str_replace('src =“','src =” http://您的域名#39;,$ newurl);
返回$ 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;
}
然后将以下代码添加到收录的php文件中:
function checkstr($ str,$ str 1) {
//确定是否收录字符$ str1
$ tmparray = explode($ str1,$ str);
if(count($ tmparray)> 1) {
返回true;
}其他{
返回假;
}
}
已解决。这种判断的意思是,如果缩略图不为空,并且缩略图URL不收录域名,请向他添加域名,这样便可以解决。
昨天的教程只写了缩略图,因为当时客户没有告诉我织梦内容页面也需要转换为带有域名的绝对路径。
所以今天早上,我完成了后面的代码。我将直接编写代码。
打开文件includedialogselect_images_post.php,然后在第108行上
$ fileurl = $ activepath。'/'。$ filename;
更改为
$ fileurl = $ cfg_basehost。$ activepath。'/'。$ filename;
这意味着编辑器上载时,请带上绝对路径,例如域名。
然后打开/dede/inc/inc_archives_functions.php
找到第436行是什么样的
全局$ cuserLogin,$ cfg_ddimg_width,$ cfg_ddimg_height,$ cfg_basedir,$ ddcfg_image_dir,$ cfg_addon_savetype;
更改为
全局$ cfg_basehost,$ cuserLogin,$ cfg_ddimg_width,$ cfg_ddimg_height,$ cfg_basedir,$ ddcfg_image_dir,$ cfg_addon_savetype;
找到第481行的外观
if($ isremote == 1 && preg_match(“#^#i”,$ picname))
更改为
if(($ isremote == 1 && preg_match(“#^#i”,$ picname))&&!checkstr($ picname,$ cfg_basehost))
找到第502行是什么样的
if((($ litpic =='ddfirst'&&!preg_match(“#^#i”,$ picname))
更改为
if((($ litpic =='ddfirst'&&!preg_match(“#^#i”,$ picname))||($ litpic =='ddfirst'&& checkstr($ picname,$ cfg_basehost)))
找到第503行是什么样的
$ oldpic = $ cfg_basedir。$ picname;在此代码上方添加一句话$ picname = str_replace($ cfg_basehost,'',$ picname);
然后,您可以将滚动条拖动到底部并添加以下功能:
function checkstr($ str,$ str 1) {
//确定是否收录字符$ str1
$ tmparray = explode($ str1,$ str);
if(count($ tmparray)> 1) {
返回true;
}其他{
返回假;
}
}
然后基本上完成了
我不会说什么意思。如果您可以阅读,则可以理解代码。如果您不理解,那就没用了。
织梦 cms缩略图和文章内容图像会自动转换为带有域名的绝对路径。本教程已结束,希望对您有帮助