推荐应用
Discuz! x3.2 添加自定义附件图标方案之一(附件图标问号解决)
发布于 2014-07-29
方案说明:Discuz!x3.2在使用是,对于未知的文件类型,直接显示问号图标,为了让站长自己的文件类型能显示正确图标,特分享以下教材。
适用版本:Discuz!x2.5-x3.2
解决流程:案例 添加apk显示图标
1.将apk图标 上传到目录:staticimageiletype
保存为apk.png
2.打开文件,路径为:\source\function\function_attachment.php
3.搜索:
搜索:
适用版本:Discuz!x2.5-x3.2
解决流程:案例 添加apk显示图标
1.将apk图标 上传到目录:staticimageiletype
保存为apk.png
2.打开文件,路径为:\source\function\function_attachment.php
3.搜索:
function attachtype($type, $returnval = 'html') {
static $attachicons = array(
1 => 'unknown.gif',
2 => 'binary.gif',
3 => 'zip.gif',
4 => 'rar.gif',
5 => 'msoffice.gif',
6 => 'text.gif',
7 => 'html.gif',
8 => 'real.gif',
9 => 'av.gif',
10 => 'flash.gif',
11 => 'image.gif',
12 => 'pdf.gif',
13 => 'torrent.gif'
);
改为:function attachtype($type, $returnval = 'html') {
static $attachicons = array(
1 => 'unknown.gif',
2 => 'binary.gif',
3 => 'zip.gif',
4 => 'rar.gif',
5 => 'msoffice.gif',
6 => 'text.gif',
7 => 'html.gif',
8 => 'real.gif',
9 => 'av.gif',
10 => 'flash.gif',
11 => 'image.gif',
12 => 'pdf.gif',
13 => 'apk.png',
14 => 'torrent.gif'
);
function attachtype($type, $returnval = 'html') {
static $attachicons = array(
1 => 'unknown.gif',
2 => 'binary.gif',
3 => 'zip.gif',
4 => 'rar.gif',
5 => 'msoffice.gif',
6 => 'text.gif',
7 => 'html.gif',
8 => 'real.gif',
9 => 'av.gif',
10 => 'flash.gif',
11 => 'image.gif',
12 => 'pdf.gif',
13 => 'apk.png',
14 => 'torrent.gif'
);
搜索:
if(is_numeric($type)) {
$typeid = $type;
} else {
if(preg_match("/bittorrent|^torrent\t/", $type)) {
$typeid = 13;
} elseif(preg_match("/pdf|^pdf\t/", $type)) {
$typeid = 12;
} elseif(preg_match("/image|^(jpg|gif|png|bmp)\t/", $type)) {
$typeid = 11;
} elseif(preg_match("/flash|^(swf|fla|flv|swi)\t/", $type)) {
$typeid = 10;
} elseif(preg_match("/audio|video|^(wav|mid|mp3|m3u|wma|asf|asx|vqf|mpg|mpeg|avi|wmv)\t/", $type)) {
$typeid = 9;
} elseif(preg_match("/real|^(ra|rm|rv)\t/", $type)) {
$typeid = 8;
} elseif(preg_match("/htm|^(php|js|pl|cgi|asp)\t/", $type)) {
$typeid = 7;
} elseif(preg_match("/text|^(txt|rtf|wri|chm)\t/", $type)) {
$typeid = 6;
} elseif(preg_match("/word|powerpoint|^(doc|ppt)\t/", $type)) {
$typeid = 5;
} elseif(preg_match("/^rar\t/", $type)) {
$typeid = 4;
} elseif(preg_match("/compressed|^(zip|arj|arc|cab|lzh|lha|tar|gz)\t/", $type)) {
$typeid = 3;
} elseif(preg_match("/octet-stream|^(exe|com|bat|dll)\t/", $type)) {
$typeid = 2;
} elseif($type) {
$typeid = 1;
} else {
$typeid = 0;
}
}
替换为:if(is_numeric($type)) {
$typeid = $type;
} else {
if(preg_match("/bittorrent|^torrent\t/", $type)) {
$typeid = 14;
} elseif(preg_match("/apk|^apk\t/", $type)) {
$typeid = 13;
} elseif(preg_match("/pdf|^pdf\t/", $type)) {
$typeid = 12;
} elseif(preg_match("/image|^(jpg|gif|png|bmp)\t/", $type)) {
$typeid = 11;
} elseif(preg_match("/flash|^(swf|fla|flv|swi)\t/", $type)) {
$typeid = 10;
} elseif(preg_match("/audio|video|^(wav|mid|mp3|m3u|wma|asf|asx|vqf|mpg|mpeg|avi|wmv)\t/", $type)) {
$typeid = 9;
} elseif(preg_match("/real|^(ra|rm|rv)\t/", $type)) {
$typeid = 8;
} elseif(preg_match("/htm|^(php|js|pl|cgi|asp)\t/", $type)) {
$typeid = 7;
} elseif(preg_match("/text|^(txt|rtf|wri|chm)\t/", $type)) {
$typeid = 6;
} elseif(preg_match("/word|powerpoint|^(doc|ppt)\t/", $type)) {
$typeid = 5;
} elseif(preg_match("/^rar\t/", $type)) {
$typeid = 4;
} elseif(preg_match("/compressed|^(zip|arj|arc|cab|lzh|lha|tar|gz)\t/", $type)) {
$typeid = 3;
} elseif(preg_match("/octet-stream|^(exe|com|bat|dll)\t/", $type)) {
$typeid = 2;
} elseif($type) {
$typeid = 1;
} else {
$typeid = 0;
}
}
4.修改完成,覆盖同门文件,登陆后台,更新缓存,上传文件测试哦。