dedecms搬家远程附件 DedeTag Engine Create File False等N多问

文章介绍

话说跟版网(QMTX3.COM)搬家经历,之前网站一直在美橙放着,但是后实在受不了美橙的空间,太不稳定了经常打不开。一狠心就把网站搬到了BlueHost(以下简称BH),因为那个时候,刚搬到BH后感觉还是可以的,但好景不长,现在BH空间越来越不给力了,打开速度也变慢了,时而中断无响应,相反在美橙没有搬的其他网站还稳定了。据说是美橙更换了一批老服务器。于是决定再次把网站从BH搬回美橙。因为网站是备了案的,所以可以直接搬回来。但是搬回来期间碰到了各种各样的奇葩问题,下面接着看dedecms远程附件图片整合阿里云存储OSS插件教程
dedecms远程附件,解决空间大小限制问题

搬到BH后网站跟版网网()经过差不多一年的发展,所以累积了大量图片,大概有15000张。因为国外的空间大多是不限制空间大小的。但是要搬回美橙那不一样了。10000多张图片差不多有500MB。空间费太吓人了。没办法谁叫中国的空间贵呢。所以开始折腾dedecms远程附件,因为之前大概看过dedecms自带的远程附件功能,以为折腾这个比较简单。谁晓的,谁晓的,谁晓的哪有这么简单。仔细翻了dede远程附件是根据同步本地服务器和远程服务器的文件来做的,其中包括文章HTML啥的。不的不放弃了。所以准备自己搞下

这里先说下大概思路,我的目的就是让发布和修改文章时下载文章的远程图片然后再上传到BH远程服务器,这样我国内的美橙的空间只存放一些程序文件和生成的文章HTML

熟悉dedecms的朋友应该都知道dedeincinc_archives_functions.php就是文档的处理函数了,包括发布、修改文章都会引用到该文件。而我要修改的就是获得文章body里的外部资源 GetCurContent 这个函数了,大概说下这个函数

1、首先获取文章内容中的所有图片地址;

2、分析如果是站内图片并且设置了下载远程图片的话,程序就下载这些图片;

3、更新图片信息包括:大小、路径啥的到uploads数据库方便删除文章时删除附件;

4、给下载的图片加上水印;

5、替换文章中的图片路径$body = str_replace($value, $fileurl, $body);

我现在使用的百度编辑器,所以编辑器图片上传远程化稍后会在另外一篇文章 dedecms使用百度编辑器(UEditor )图片上传远程化 中写到。

我的修改方法是新建一个上传图片到远程服务函数,在上面第四步完成后(即打了水印后),就上传图片,然后替换文章图片路径为远程的图片地址就行了,这里我只是说下思想,代码我就不贴出来了。上传函数可以dedecms自带的FTP类,另外缩略图的远程保存方法跟这个类似的。

移动文件和数据库到新空间

解决了dedecms远程附件的问题,就考虑搬文件和数据库了,首先是下载文件,这里说下一般不用下载DATA目录,用dedecms程序包的就行,这个目录下有很多缓存文件,少则几千,多的过万。然后上传所有图片到远程服务器。其他目录包括默认的dede,include,plus因为修改的文件比较多也就一并全部下载。

购买了200MB的美橙空间,上传了全新的DEDECMS安装程序,安装好之后,然后上传上面下载的dede,include,plus等几个目录覆盖。然后通过dedecms后台的数据库备份工具备份好下载之后上传到新的进行还原。

替换老文章的缩略图、内容的图片为新的远程图片路径

update dede_archives set litpic = concat('远程附件的域名', litpic) where arcrank > -1;

内容的图片路径就通过dede后台自带的数据库替换功能替换body就行了。更新完之后,在后台随便点了几篇文章看下,图片都正常显示的。

DedeTag Engine Create File False问题

所有数据、文件都准备好了,心想生成就完事了,结果....

生成到2000多的时候就报DedeTag Engine Create File False错了,直接百度、GOOGLE了一下,这里列一下现在网上写的一些出现这种问题的解决方法。

1、定位报错文件,打开/include/dedetag.class.php文件直接搜索DedeTag Engine Create File False,把$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False"); 改成$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False:".$filename); //意思就是多输出一个报错的文件

2、上面只是找到报错的文件,然后再更新报错时就会出现DedeTag Engine Create File False:/a/201212/16524.html,形如这样的错误

3、dedecms更新生成栏目时出现DedeTag Engine Create File False,解决办法:根据出错文件查找到对应栏目,查看 编辑栏目->高级选项 里的 列表命名规则:{typedir}/后面有没有出现多于的"/"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5a0739b22c05bd4b5d43be607b097a1c.html