本帖最后由 evenzhou 于 2011-8-22 09:35 编辑
当用户在版块中设置了附件扩展,且包含大小写,如: jpg,JPG
这样当用户上传了大写的扩展名之后
导致图片列表没有附件
原因是:
function_post.php
$allowext = str_replace(' ', '', strtolower($_G['forum']['attachextensions']));
这里对所有附件扩展名进行了小写转换
进行调用的时候:
- if($pid > 0) {
- $query = DB::query("SELECT a.*, af.*
- FROM ".DB::table('forum_attachment')." a
- LEFT JOIN ".DB::table(getattachtablebytid($_G['tid']))." af USING(aid)
- WHERE a.pid='$pid' ORDER BY a.aid DESC");
- while($attach = DB::fetch($query)) {
- $attach['filenametitle'] = $attach['filename'];
- $attach['ext'] = fileext($attach['filename']);
- if($allowext && !in_array($attach['ext'], $allowext)) {
- continue;
- }
- getattach_row($attach, $attachs, $imgattachs);
- }
- }
复制代码
应该进行转换:
$attach['ext'] = fileext($attach['filename']);
更改为:
$attach['ext'] = strtolower(fileext($attach['filename']));
|