今天在论坛发布了一个excel文档,发现有一个大问号,搜索了一下遇见这个问题的还挺多,不过还好有大神,所以我的问题也解决了,特此记录一下。
Discuz! x3.4 附件图标问号的解决方法
1、将图标上传到目录:static\image\filetype 保存为你需要的名字,比如我的,xls.gif
2、打开文件,路径为:\source\function\function_attachment.php
其实打开就能看到下面这些内容,:
- 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’
- );
复制代码
修改为你要添加的图标名称,例如我的,在12和13中间加上这些:
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 => ‘xls.gif’,
14 => ‘doc.gif’,
15 => ‘ppt.gif’,
16 => ‘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 = 16;
- } elseif(preg_match(“/office|^(ppt)\t/”, $type)) {
- $typeid = 15;
- } elseif(preg_match(“/office|^(doc|docx)\t/”, $type)) {
- $typeid = 14;
- } elseif(preg_match(“/office|^(xls|xlsx)\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;
- }
- }
复制代码
修改完成,登陆后台,更新缓存,上传文件测试一下就可以了。
到这里大家应该能看明白了,需要哪些图标就自己添加就可以了,这个还是比较简单的哈。 |