找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 124|回复: 0

[cms教程] Dedecms5.7图集上传不修改原图片名称教程

[复制链接]

该用户从未签到

发表于 2021-3-5 10:45:13 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
可能是出于安全等考虑,Dedecms程序上传图集后,会将文件名更改,例如更改成1-130409223432.jpg,但是根据Google对于图片的SEO优化指引,这样的图片文件名不太友好。
         
        因此我想保留原有的图片文件名,例如beautiful_shoes.jpg。
         
        网上有人说将dede目录下的swfupload.php中的$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis', time()));改成$filename=$Filedata_name;
         
        更改后,我发现上传后的文件多了一个后缀名,例如原来本地图片是beautiful_shoes.jpg,通过图集上传后成了beautiful_shoes.jpg.jpg,请问如何去掉这个多出来的这个jpg呢?
         
        查看源码
         
        打印代码帮助
        //保存原图
            $filedir = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, time());
            if(!is_dir(DEDEROOT.$filedir))
            {
                MkdirAll($cfg_basedir.$filedir, $cfg_dir_purview);
                CloseFtp();
            }
            $filename = $Filedata_name;
            if( file_exists($cfg_basedir.$filedir.'/'.$filename) )
            {
                for($i=50; $i
                {
                    if( !file_exists($cfg_basedir.$filedir.'/'.$i.'-'.$filename) )
                    {
                        $filename = $i.'-'.$filename;
                        break;
                    }
                }
            }
            $fileurl = $filedir.'/'.$filename;
            $rs = copy($FiledataNew, $cfg_basedir.$fileurl);
            unlink($FiledataNew);
            if(!$rs)
            {
                echo "ERROR: Copy Uploadfile Error! ";
                exit(0);
            }
        经过本站测试,通过此方法更改后,确实可以保证原文件名上传也不会修改,但有一个小问题,就是水印会失效,大家可以自己找找原因。
        目前已经测试通过,IE9浏览器,FF火狐浏览器,GG谷歌浏览器 下 完美支持中文图片名,非常利于SEO优化
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-9 15:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表