帝国cms的文章模型,是将文章内容存储在了其d/txt目录下,一般以日期为目录存储,但是有的时候,我们会想要将全站的某个字符串(文字,词语等),其他模型其实比较简单,甚至是他的所有的模板,都是存在了数据库中,这样的好处不仅仅是备份方便,我们在替换字符时也方便,用我之前说过的一个sql语句即可:UPDATE table_name SET field_name = replace (field_name,’from_str’,'to_str’) WHERE …… ;而这个文章模型比较特殊,他是为了读取速度,将内容存在了一个php文件中,这样仅仅存一个路径,当然就快了,他的文章模型就很适合做小说。但是我们想批量替换某个字符就比较麻烦了,所以我简单写了个功能,来完成这个目的;

效果如图:当点击确定后,会将包含有指定字符的文件目录列出并替换掉;

先说说原理,任何事情,其实明白了原理,就有了解决的步骤,一步步来就可以解决,既然知道了内容存储的文件,那么我们写个程序,遍历这个目录,然后读取里面的文件,查找里面是否有指定字符,如果有就用正则进行批量替换即可;上代码;

 

ps:将这个代码写入一个php文件,并且放到帝国根目录的/d/目录下,注意文件字符格式,如果你的帝国程序是utf-8注意将此文件保存为utf-8格式;访问这个文件既可以,注意操作前,你可以先测试或者备份一下这个/d/txt目录,确认可以了就可以用了。

这里我没有加登陆限制,可以将他后台的几个包含文件加上就有个是限制非登陆访问的,当然了这个仅仅是为了替换字符,可以使用完就删除,或者在顶部加上exit;仅仅用到的时候来用。其实这个东西很简单,喜欢对有此类似问题的同学有帮助。

程序本天成,妙手偶得之!我们只是代码的搬运工!

转载请注明:http://www.521php.com/archives/1609/

目前有1 条留言

  1. 2013年10月19日 下午 8:34 黄山烧饼   |  引用  |  #1     

    沙发呀

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter