首页 >  站长好站录制完整版帝国cms基础教程 >  帝国程序修改图片路径方法 您现在的位置是:

帝国程序修改图片路径方法

王子玉 2019-10-24 00:01:37 【站长好站录制完整版帝国cms基础教程】

简介帝国CMS默认的文件上传路径是/d/file/,配合上日期和栏目路径,会导致图片地址超长,看着很不舒服。现在我教大家如何把帝国CMS默认文件上传路径修改成/upload/。

帝国CMS默认的文件上传路径是/d/file/,配合上日期和栏目路径,会导致图片地址超长,看着很不舒服。现在我教大家如何把帝国CMS默认文件上传路径修改成/upload/。

第一步:修改网站后台配置,将/d/file/修改成/upload/,如图所示:

帝国cms
步骤二、修改网站后台,将文件直接上传到/d/file/目录,不设置栏目目录和日期目录,如下图所示:
帝国cms

到这里,我们完成了网站后台的设置,设置逻辑是把默认的/d/file/替换成/upload/路径,并把文件直接放在设置的路径下,不设置中间多余的路径。但是到这里还不行,帝国CMS相对来说已经很人性化了,可惜帝国团队在这里可能并没有考虑到使用者更换默认文件目录的需求。下面我们还需要修改一下网站文件,可以从FTP或者是服务器上直接修改。

第三步、使用FTP或才是在服务器上,在网站根目录建一个文件夹,命名为 upload,并设置成777权限(非常重要!)。

步骤四、修改网站函数,将/d/file/替换成/upload/

打开/e/class/connect.php文件,找到函数ReturnFileSavePath(),将函数中的d/file全部替换成 upload。代码如下:

修改前:

  1. //返回附件目录
  2. function ReturnFileSavePath($classid,$fpath=''){
  3.     global $public_r,$class_r;
  4.     $fpath=$fpath||strstr(','.$fpath.',',',0,')?$fpath:$public_r['fpath'];
  5.     $efileurl=eReturnFileUrl();
  6.     if($fpath==1)//p目录
  7.     {
  8.         $r['filepath']='d/file/p/';
  9.         $r['fileurl']=$efileurl.'p/';
  10.     }
  11.     elseif($fpath==2)//file目录
  12.     {
  13.         $r['filepath']='d/file/';
  14.         $r['fileurl']=$efileurl;
  15.     }
  16.     else
  17.     {
  18.         if(empty($classid))
  19.         {
  20.             $r['filepath']='d/file/p/';
  21.             $r['fileurl']=$efileurl.'p/';
  22.         }
  23.         else
  24.         {
  25.             $r['filepath']='d/file/'.$class_r[$classid][classpath].'/';
  26.             $r['fileurl']=$efileurl.$class_r[$classid][classpath].'/';
  27.         }
  28.     }
  29.     return $r;
  30. }

修改后:

  1. //返回附件目录
  2. function ReturnFileSavePath($classid,$fpath=''){
  3.     global $public_r,$class_r;
  4.     $fpath=$fpath||strstr(','.$fpath.',',',0,')?$fpath:$public_r['fpath'];
  5.     $efileurl=eReturnFileUrl();
  6.     if($fpath==1)//p目录
  7.     {
  8.         $r['filepath']='upload/p/';
  9.         $r['fileurl']=$efileurl.'p/';
  10.     }
  11.     elseif($fpath==2)//file目录
  12.     {
  13.         $r['filepath']='upload/';
  14.         $r['fileurl']=$efileurl;
  15.     }
  16.     else
  17.     {
  18.         if(empty($classid))
  19.         {
  20.             $r['filepath']='upload/p/';
  21.             $r['fileurl']=$efileurl.'p/';
  22.         }
  23.         else
  24.         {
  25.             $r['filepath']='upload/'.$class_r[$classid][classpath].'/';
  26.             $r['fileurl']=$efileurl.$class_r[$classid][classpath].'/';
  27.         }
  28.     }
  29.     return $r;
  30. }

当然,别忘记保存文件。

到这里,就可以完整的把帝国CMS默认上传文件的路径修改成自己想要的路径啦~

本文教大家使用帝国CMS上传图片等文件时如何保留原文件名。其实,简单地修改网站源代码就可以实现。

首先,打开/e/class/connect.php文件,找到函数  DoTranFile(),修改这个函数的前几行代码,详细代码如下:

 
  1. //上传文件
  2. function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){
  3.     global $public_r,$class_r,$doetran,$efileftp_fr;
  4.     //文件类型
  5.     $r[filetype]=GetFiletype($file_name);
  6.     $filename2=str_replace($r[filetype], '', $file_name); //添加这行代码
  7.     //文件名
  8.     $r[insertfile]=ReturnDoTranFilename($file_name,$classid);
  9.     //$r[filename]=$r[insertfile].$r[filetype]; //注释或删掉此行代码
  10.     $r[filename]=$filename2.$r[filetype];  //添加这行代码
  11.     //日期目录
  12.     $r[filepath]=FormatFilePath($classid,$mynewspath,0);
  13.     $filepath=$r[filepath]?$r[filepath].'/':$r[filepath];
  14. ....
  15. ....
  16. }

 就是这么简单,添加两行代码,删除一行代码即可。





 

帝国CMS教程   WordPress教程   织梦CMS教程   z-blog教程   网站制作工具 建站教程

  • 帝国程序修改图片路径方法
  • 第六课:帝国cms列表模板的制作和调用方式
  • 第五课:帝国cms底部模板变量的制作教程
  • 第四课:帝国cms首页模板的制作以及标签调用
  • 第三课:帝国cms网页头部模板制作教程
  • 第二课:帝国cms页面模板介绍

热搜栏目

王子玉博客简介

  • 建站时间:2019年10月10日
  • 网站程序:帝国CMS7.5
  • 建站目的:分享建站心得,网站模板和教程
  • XML地图XML地图
  • HTML地图HTML地图
  • TXT地图TXT地图
  • 微信号:扫码加入我们一起学习建站吧!