Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[分享] uchome删除了相片没减容量,还提示“空间容量不足,不能上传新附件”的bug,解决方法

[复制链接]
曾子图 发表于 2010-12-13 16:24:47 | 显示全部楼层 |阅读模式
本帖最后由 曾子图 于 2010-12-13 16:28 编辑

我用的是2.0版本,很多会员反映删除了相片,
却没有减容量,上传新的图片提示:“空间容量不足,不能上传新附件”。
我看了一下代码,确实是有bug。
解决这个bug的方法有两种,
一是修改删除时候,更新已用容量的数据(这是一个单独的字段)。
二是查询剩余容量的时候,不用这个单独的字段,而是通过查询所有的图片,统计出总的已用容量。
如果是新安装的,最好是用第一种解决方法。
如果是已有大量数据的,用第二种解决方法比较好。
这里教大家改第二种方法的代码:
1、打开source/function_cp.php
查找if($maxattachsize) {//0为不限制(大概在64行),在后面添加
        $space['attachsize'] = 0;
        $query = $_SGLOBAL['db']->query("SELECT size FROM " . tname("pic") . " WHERE uid = '$_SGLOBAL[supe_uid]' ");
        while ($value = $_SGLOBAL['db']->fetch_array($query))
        {
            $space['attachsize'] = $space['attachsize'] + $value['size'];
        }
2、打开source/cp_upload.php
查找$maxattachsize = $maxattachsize + $space['addsize'];//额外空间(大概在224行),在后面添加
        $space['attachsize'] = 0;
        $query = $_SGLOBAL['db']->query("SELECT size FROM " . tname("pic") . " WHERE uid = '$_SGLOBAL[supe_uid]' ");
        while ($value = $_SGLOBAL['db']->fetch_array($query))
        {
            $space['attachsize'] = $space['attachsize'] + $value['size'];
        }
就这样ok了。
有问题可以加我QQ:179483458
演示网站:http://www.tklife.com.cn/home
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-24 06:19 , Processed in 0.023995 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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