phpcms v9附件上传后显示链接名称如何改为附件名称即链接不变,显示的为中文名称

方法1

修改文件地址:

/statics/js/swfupload/swf2ckeditor.js

找到同类名称函数,进行修改或者替换,具体内容如下:

Part1 submit_ckeditor

function submit_ckeditor(uploadid,textareaid){
        var d = window.top.art.dialog({id:uploadid}).data.iframe;
        var in_content = d.$("#att-status").html();
        var del_content = d.$("#att-status-del").html();
        var att_name = d.$("#att-name").html();  //新增
        insert2editor(textareaid,in_content,del_content,att_name)  //如果原函数需要保留,可将Part2函数复制改名
}

Part2 insert2editor

function insert2editor(id,in_content,del_content,att_name) {        
        if(in_content == '') {return false;}
        var data = in_content.substring(1).split('|');
        var dataname = att_name.substring(1).split('|');
        var img = '';
        for (var n in data) {
                img += IsImg(data[n]) ? '<img src="'+data[n]+'" /><br />' : (IsSwf(data[n]) ? '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="'+data[n]+'" /><embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="'+data[n]+'" type="application/x-shockwave-flash" width="460"></embed></object>' :'<a href="'+data[n]+'" title="'+dataname[n]+'"/>'+dataname[n]+'</a><br />') ;
        }
        $.get("index.php?m=attachment&c=attachments&a=swfdelete",{data: del_content},function(data){});
        CKEDITOR.instances[id].insertHtml(img);
}

修改完后,保存,并在前台访问Http://yourDomain.com/statics/js/swfupload/swf2ckeditor.js  防止缓存

方法2

直接修改附件上传的命名规则
文件地址:
/phpcms/libs/classes/attachment.class.php

里面是附件上传用到的函数,其中function getname()可以设置自定义命名规则。

如需修改附件路径,可以修改此文件:$this->upload_root = pc_base::load_config('system','upload_path');

不过建议还是在system.php配置文件中修改
'upload_url' => 'http:/uploadfile/', //附件路径

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

使用新浪微博登陆

目前评论:1   其中:访客  0   博主  1

  1. avatar usity

    如果文件名过长会导致仍旧以数字显示,那么修改两处:
    1,数据库找到attachment表,将filename字段长度由默认的50修改为255。
    2,找到/phpcms/libs/classes/attachment.class.php文件,修改function add函数中的$uploadedfile[‘filename’]一行为$uploadedfile[‘filename’]=$uploadedfile[‘filename’];去掉判断符就行。