帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享][原创]帝国cms 给附件存放目录位置添加自定义选项 【本版专题贴子】  
主题:[分享][原创]帝国cms 给附件存放目录位置添加自定义选项 [加入收藏夹]   

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享][原创]帝国cms 给附件存放目录位置添加自定义选项
文章来讲如何修改帝国cms默认的附件存放地址、
首先知道帝国cms只提供了三个默认的附件存放目录地址而且还是写死无法改动的
分别是附件存放在栏目目录/d/file/p目录/d/file目录 这三个目录

我们现在需要选一个自定义的功能,下面我们来讲一下怎么实现
1.首先我们肯定要在参数设置--文件设置的页面表单下添加一个选项框和一个文本输入框、
2.已知文件存放目录是三个单选框  名字是fpath 参数是 0=(栏目目录) 1=(/d/file/p目录)2=(/d/file目录)  
那么我们就添加一个 3=(自定义目录)的选项
<input type="radio" name="fpath" value="3"<?=$r[fpath]==3?' checked':''?>> 自定义目录
3.有了选项框还要个文本输入框吧,拟定name为customfilepath
<input name="customfilepath" type="text" id="customfilepath" value="<?=$r[customfilepath]?>
把这两个添加到/e/admin/SetEnews.php文件
搜索附件存放目录找到位置
        <tr>
          <td rowspan="2" valign="top" bgcolor="#FFFFFF">附件存放目录</td>
          <td height="25" bgcolor="#FFFFFF"><input type="radio" name="fpath" value="0"<?=$r[fpath]==0?' checked':''?>>
            栏目目录
            <input type="radio" name="fpath" value="1"<?=$r[fpath]==1?' checked':''?>>
            /d/file/p目录
            <input type="radio" name="fpath" value="2"<?=$r[fpath]==2?' checked':''?>>
            /d/file目录
            <input type="radio" name="fpath" value="3"<?=$r[fpath]==3?' checked':''?>>
            自定义目录:<input name="customfilepath" type="text" id="customfilepath" value="<?=$r[customfilepath]?>" size="38"><font color="#666666">(如/pic/d/file/,形式、需去网站建立目录权限755)</font>
</td>
        </tr>/******红色部分是添加部分***/

改完的效果是这个的


4.有了表单还不行啊  得做字段存储吧  
   1.进入phpMyAdmin管理数据表  找到phome_enewspublicphome_是表前缀 我的是默认的
添加结构字段customfilepath 类型varchar  长度30
或者直接在帝国cms后台使用sql语句添加
    2.然后到/e/admin/SetEnews.php文件
搜索$ernurl=hRepPostStr2(eDoRepPostComStr($add['ernurl'],1));
在后面添加$add['customfilepath']=hRepPostStr($add['customfilepath'],0);

搜索 ,ernurl='".eaddslashes($ernurl)."'
在后面添加 ,customfilepath='$add[customfilepath]'



一个逗号都不要少

在改文件/e/class/connect.php
搜索   //返回附件目录
//***红色部分为新增部分***//
function ReturnFileSavePath($classid,$fpath=''){
    global $public_r,$class_r,$empire,$dbtbpre;
    $fpath=$fpath||strstr(','.$fpath.',',',0,')?$fpath:$public_r['fpath'];
    $ur=$empire->fetch1("select customfilepath from {$dbtbpre}enewspublic limit 1");//查询网站设置数据记录表
    $customfilepath=$ur['customfilepath']?$ur['customfilepath']:'d/file/';//自定义目录
   
    $efileurl=eReturnFileUrl();
    if($fpath==1)//p目录
    {
        $r['filepath']='d/file/p/';
        $r['fileurl']=$efileurl.'p/';
    }
    elseif($fpath==2)//file目录
    {
        $r['filepath']='d/file/';
        $r['fileurl']=$efileurl;
    }
    elseif($fpath==3)//自定义目录
    {
        
        $r['filepath']=$customfilepath;
        $r['fileurl']=$efileurl;
    }

    else
    {
        if(empty($classid))
        {
            $r['filepath']='d/file/p/';
            $r['fileurl']=$efileurl.'p/';
        }
        else
        {
            $r['filepath']='d/file/'.$class_r[$classid][classpath].'/';
            $r['fileurl']=$efileurl.$class_r[$classid][classpath].'/';
        }
    }
    return $r;
}

*注意:目录权限最少要755.

帝国cms 给附件存放目录位置添加自定义选项之缩图自定义目录续篇http://bbs.phome.net/showthread-13-367240-0.html
本章完结。

[该贴被修改 9 次,最后修改时间 2024-07-24 02:29:19 ]


夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-07-23 00:16:02 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5869
经验值   :16740
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持下




2024-07-23 07:14:23 已设置保密 顶部 回复 引用 报告 编辑 删除

fgf719
用户头衔:进士

精华贴   :0
发贴数   :1382
经验值   :5292
注册时间:2008-10-15
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

精华帖,超赞,晚些测试一下!




2024-07-23 11:26:38 已设置保密 顶部 回复 引用 报告 编辑 删除

fgf719
用户头衔:进士

精华贴   :0
发贴数   :1382
经验值   :5292
注册时间:2008-10-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

经测试,可以实现附件自定义目录,但是发布信息时内容页附件路径仍然显示为/d/file/,而我设置的自定义存放路径是/pic/,请问如何处理?




2024-07-23 13:43:51 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

原帖由 fgf719 于 2024-07-23 13:43:51 发表
经测试,可以实现附件自定义目录,但是发布信息时内容页附件路径仍然显示为/d/file/,而我设置的自定义存放路径是/pic/,请问如何...

参数设置-基本属性-附件地址改为/pic/



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-07-23 14:07:04 已设置保密 顶部 回复 引用 报告 编辑 删除

fgf719
用户头衔:进士

精华贴   :0
发贴数   :1382
经验值   :5292
注册时间:2008-10-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

楼主正解,搞定,谢谢!
希望楼主能出一个缩略图自定义存放目录的详细教程,谢谢!




2024-07-23 17:00:02 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaojiekk
用户头衔:秀才

精华贴   :0
发贴数   :58
经验值   :431
注册时间:2016-05-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

原帖由 fgf719 于 2024-07-23 17:00:02 发表
楼主正解,搞定,谢谢!
希望楼主能出一个缩略图自定义存放目录的详细教程,谢谢!

已更新



夜星空:http://www.yeskylog.com
AK资源网:http://www.akzyw.com
QQ:18707710
VX:yeskylog

2024-07-24 02:29:50 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5869
经验值   :16740
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持下




2024-07-28 07:59:22 已设置保密 顶部 回复 引用 报告 编辑 删除

worldcms
用户头衔:进士

精华贴   :0
发贴数   :920
经验值   :4123
注册时间:2017-05-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持




2024-07-29 12:36:58 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1