• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    PHPCMS 使用心得与技巧,以及小BUG的纠正

    发布者: 火山休眠期 | 发布时间: 2025-7-24 16:16| 查看数: 34| 评论数: 0|帖子模式

    用PHPCMS开发的第一个项目是一个素材类网站 www.jb51.net,之所以选PHPCMS估计是因为看了她的百万级的数据测试报告。而之后,我越用感觉也越不错。当然,期间遇到过不少问题,总结了一下,方便以后开发。(版本:phpcms2008sp3_gbk) 

    综合问题 

    使用GET标签时静态分页出错以及分页地址会链接到后台 

    文件:/include/global.func.php 
    函数:pages 
    在 if($curr_page>0) 前添加 $url = load('url.class.php'),如下: 
    $url = load('url.class.php'); 
    if($curr_page>0) 
    只要添加一行代码就解决了,而在网上找的解决方法却非常复杂,好郁闷! 

    而分页地址会链接到后台则只需要将以下的第一行代码替换成第二行就OK了,当然,建议把第一行注释掉,加上第二行。 
    复制代码
    代码如下:

    $multipage .= ' '.$pages.'下一页'; 
    $multipage .= $catid ?' '.$pages.'下一页' : ' '.$pages.'下一页'; 

    上传文件路径修改 

    文件:include/attachment.class.php 
    找到 $this->savepath 和 $dir 这两个变量,以下是修改后的值,路径为“uploadfile/年/月/日/”: 
    $this->savepath = UPLOAD_ROOT.date('Y/md/'); 
    $dir = date('Y/m/d/', TIME); 

    将缩略图保存到单独的文件夹,这样子也方便管理 
    文件:/include/global.func.php 
    $newimgurl = dirname($imgurl).'/thumb/thumb_'.$width.'_'.$height.'_'.basename($imgurl); 

    文件:/include/attachment.class.php 
    以下是 get_thumb 函数修改后的代码 
    复制代码
    代码如下:

    function get_thumb($image) 

    /* 缩略图文件夹 */ 
    $thumbdir = dirname($image).'/thumb'; 
    if (!file_exists($thumbdir)) mkdir($thumbdir, 0700); 
    return dirname($image).'/thumb/thumb_'.basename($image); 
    //return str_replace('.', '_thumb.', $image); 


    BUG (UPLOAD_PATH 不存在) 

    记不清报什么错了,反正后来我是直接把 UPLOAD_PATH 这个常量删掉,最后就正常了。有知道提示什么错误的请留个言。 
    提示错误:Warning: mkdir() [function.mkdir]: No such file or directory in... 类似这样子的 
    只要把UPLOAD_PATH去掉然后更新缓存,一切正常。 

    /include/fields/images/output.inc.php 
    $thumb = UPLOAD_URL.$attachment->get_thumb(UPLOAD_PATH.$a['filepath']); 

    全站搜索最多显示的记录数 

    PHPCMS 的全站搜索很强大,貌似能支持百万级的数据量。通常,搜索结果不需要输出全部记录数的,所以我将搜索输出结果设置为最多1000条(已经很多了,GOOGLE都没这么多,呵呵),以下是修改后的部分代码。 
    复制代码
    代码如下:

    文件:/search/index.php 
    $page = max(intval($page), 1); 
    $page = $page>100 ? 100 : $page; (增加了这行代码) 
    文件:/search/include/search.class.php 
    $this->total = cache_count("SELECT COUNT(*) AS `count` FROM `$this->table` WHERE $where"); 
    $this->total = $this->total>1000 ? 1000 : $this->total; (增加了这行代码) 


    采集模块 

    该如何去设置采集规则就不多说了,官方有详细介绍:http://www.phpcms.cn/2009/0522/220.html 

    需要采集的话使用GBK版本的PHPCMS 

    试过用UTF-8版本的去采集,结果不论怎么调,采回来的中文都是乱码,好郁闷。没有深入研究,转投GBK。 

    修改采集图片和压缩文件时的保存路径 

    文件:/spider/include/get_remotefiles.func.php 
    函数:do_saveremotefiles 
    修改函数中以下两个变量;以下是我修改后的结果,保存路径为“uploadfile/年/月/日/”: 
    复制代码
    代码如下:

    $filepath = PHPCMS_PATH . $uploaddir . '/' . date('Y/m/d') . '/'; 
    $uploaddir = PHPCMS_ROOT . '/' . $uploaddir . '/' . date('Y/m/d') . '/'; 

    采集内容时无法远程保存图片 

    src 前的空格导致了图片在采集内容时采集不了,只有在发布时才能采集得到。 
    文件:/spider/include/get_remotefiles.func.php 
    函数:get_remotefileurls 
    以下分别是修改前和修改后的代码,注意src前的空格,只要把空格去掉就OK了。 
    复制代码
    代码如下:


    if (!preg_match_all("/

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表