首先知道帝国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_enewspublic表phome_是表前缀 我的是默认的
添加结构字段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'];//自定义目录
$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.
本章完结,关注夜星空https://www.yeskylog.com/ 欢迎大家一起学习和 探讨!
未经允许不得转载:YESKYLOG » 帝国cms 给附件存放目录位置添加自定义选项
最新评论
$page=(int)$_GET['page'];
$pagenum=$page+1;
if($page==0){
$page2='';
}else{
$page2='第 '.$pagenum.' 页';
}