当前位置 : 主页 > 建站教程 > dedecms >

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

来源:互联网 收集:自由互联 发布时间:2021-06-20
可能是出于安全等考虑,Dedecms程序上传图集后,会将文件名更改,例如更改成1-130409223432.jpg,但是根据Google对于图片的SEO优化指引,这样的图片文件名不太友好。 因此我想保留原有的

可能是出于安全等考虑,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呢?

查看源码   打印代码帮助 01 //保存原图 02     $filedir = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, time()); 03     if(!is_dir(DEDEROOT.$filedir)) 04     { 05         MkdirAll($cfg_basedir.$filedir, $cfg_dir_purview); 06         CloseFtp(); 07     } 08     $filename = $Filedata_name; 09     if( file_exists($cfg_basedir.$filedir.'/'.$filename) ) 10     { 11         for($i=50; $i <= 5000; $i++) 12         { 13             if( !file_exists($cfg_basedir.$filedir.'/'.$i.'-'.$filename) ) 14             { 15                 $filename = $i.'-'.$filename; 16                 break; 17             } 18         } 19     } 20     $fileurl = $filedir.'/'.$filename; 21     $rs = copy($FiledataNew, $cfg_basedir.$fileurl); 22     unlink($FiledataNew); 23     if(!$rs) 24     { 25         echo "ERROR: Copy Uploadfile Error! "; 26         exit(0); 27     } 经过本站测试,通过此方法更改后,确实可以保证原文件名上传也不会修改,但有一个小问题,就是水印会失效,大家可以自己找找原因。

目前已经测试通过,IE9浏览器,FF火狐浏览器,GG谷歌浏览器 下 完美支持中文图片名,非常利于SEO优化

网友评论
相关栏目