bp3的bug修复搜索问题,隐藏文件夹失效,开启跨盘搜点开为空
由于客户使用的bp3系统,数据量达到920万之后,查询巨慢。需要大约15秒
阅读源码:/api/baidu.class.php 约452行
发现问题:
select
语句中字段列表的写法有误。例如,local_mtime 'local_ctime'
应该是local_mtime as 'local_ctime'
。- 在
CONCAT
函数和后面的字段之间也缺少了as
关键字。
// $list = DB::table("bp3_cache_file","select `id`,`category`,`isdir`,`fs_id`,`local_mtime` 'local_ctime',`local_mtime`,CONCAT(`parent_path`,`server_filename`)'path',`server_mtime` 'server_ctime',`server_mtime`,`server_filename`,`size`,`uk` from @table where 1=1 $where and match(server_filename) AGAINST(:key in boolean mode) $orderby limit $pageSize",$dbParam)->selectArrList();
$sql = "SELECT `id`,`category`,`isdir`,`fs_id`,`local_mtime` as `local_ctime`,`local_mtime`,CONCAT(`parent_path`,`server_filename`) as `path`,`server_mtime` as `server_ctime`,`server_mtime`,`server_filename`,`size`,`uk` FROM `bp3_cache_file` WHERE 1=1 $where AND MATCH(server_filename) AGAINST(? IN BOOLEAN MODE) $orderby LIMIT ?";
$bindings = array_merge([$searchKey, $pageSize], $dbParam);
$list = DB::query($sql, $bindings)->fetchAll(PDO::FETCH_ASSOC);
将原查询$list部分注释掉,修改为新的查询。查询速度优化到1秒以内.
二、隐藏文件夹失效;修改index.php
foreach ($hideDir as $val){
if(substr($row['path'],0,strlen($val)) == $val){
$flag = true;
break;
}
}
改为:
foreach ($hideDir as $val){
$position = strrpos($row['path'], $val);
if($position == strlen($row['path']) - strlen($val)){
$flag = true;
break;
}
三、跨盘搜索点击进去空白问题;修改/themes/default/index.html
<td class="dir" colspan="4"><a class="lineText" href="?dir={#$v['encode_path']#}&tag={#$tag#}&u={#$v['uk']#}&recursion={#$recursion#}" style="display:block;">
{#$v['server_filename']#}
</a>
</td>
修改&u={#$u#}为&u={#$v['uk']#}
四、文件名称按照数字降序排列;修改/index.php
usort($data['list'], function($a, $b) {
return strcmp($b['server_filename'], $a['server_filename']);
});
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
TP源码网 » bp3的bug修复搜索问题,隐藏文件夹失效,开启跨盘搜点开为空
TP源码网 » bp3的bug修复搜索问题,隐藏文件夹失效,开启跨盘搜点开为空