帝国论坛帝国网站管理系统交流区帝国CMS 7.5专版[分享]帝国cms内容存文本字段勾选图片链接转为下一页的时候,发布文章会缺斤短两! 【本版专题贴子】  
主题:[分享]帝国cms内容存文本字段勾选图片链接转为下一页的时候,发布文章会缺斤短两! [加入收藏夹]   

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享]帝国cms内容存文本字段勾选图片链接转为下一页的时候,发布文章会缺斤短两!
占位



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-02 23:58:04 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

怪的现象:帝国cms中后台或者采集发表文章

内容存文本字段,勾选图片链接转为下一页的时候,发布文章会缺斤短两!

1.再次编辑,正常了!

2.不勾选 图片链接转为下一页  ,发布正常



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-02 23:59:10 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

这奇妙的bug现象,原来是fread函数在作怪!勾选图片链接转下一页的时候,会写文件后,马上又修改文件。但是fread使用了缓存的文件大小,这时候读取文件的时候,就不能正确读到文件的大小。修正的方法也很简单,在fread之前,用clearstatcache()函数强制更新文件状态缓存。或者改用file_get_contents函数读取本地文件内容。



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-03 00:01:55 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

//取得文件内容
function ReadFiletext($filepath){
        $filepath=trim($filepath);
        $ishttp=0;
        if(strstr($filepath,'://'))
        {
                if(!eToCheckIsUrl2($filepath))
                {
                        return '';
                }
                $ishttp=1;
        }
        $htmlfp=@fopen($filepath,"r");
        //远程
        if($ishttp==1)
        {
                while($data=@fread($htmlfp,500000))
            {
                        $string.=$data;
                }
        }
        //本地
        else
        {
                //clearstatcache();
                $string=@fread($htmlfp,@filesize($filepath));
                //$string=file_get_contents($filepath);
        }
        @fclose($htmlfp);
   
        return $string;
}


这是/e/class/connect.php文件中函数



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-03 00:03:44 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

bug展示视频:
https://www.ixigua.com/7115804613986484770



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-03 00:05:32 已设置保密 顶部 回复 引用 报告 编辑 删除

csdn2
用户头衔:探花

精华贴   :0
发贴数   :4539
经验值   :13279
注册时间:2013-11-21
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

读文件会用缓存?




2022-07-03 07:39:09 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3012
经验值   :8585
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

原帖由 csdn2 于 2022-07-03 07:39:09 发表
读文件会用缓存?


读取文件信息会用缓存。

比如这里  $string=@fread($htmlfp,@filesize($filepath));

连续 修改 文件后,马上读取, filesize($filepath)的值会缓存





帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2022-07-03 09:27:55 已设置保密 顶部 回复 引用 报告 编辑 删除

zhxin
用户头衔:探花

精华贴   :0
发贴数   :3773
经验值   :10388
注册时间:2013-01-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持下




2022-07-04 07:34:42 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1