接上一篇给附件存放目录位置添加自定义选项 如法炮制 1.在/e/admin/SetEnews.php文件文本 添加两个两个选项 一个复选框、一个文本框 复选框拟定名字spicswitch 即是 缩图自定义目录开关 文本框拟定名字scustomfilepath 即是 缩图自定义目录
搜索找到 图片缩略图设置 //***红色部分为新增***// <table width="100%" border="0" cellspacing="1" cellpadding="3" class="tableborder"> <tr class="header"> <td height="25" colspan="2">图片缩略图设置</td> </tr> <tr bgcolor="#FFFFFF"> <td width="22%" height="25">自定义缩图目录</td> <td>开启: <input name="spicswitch[]" type="checkbox" id="spicswitch[]" value="1"<?=strstr($r['spicswitch'],'1')?' checked':''?>> 自定义目录: <input name="scustomfilepath" type="text" id="scustomfilepath" value="<?=$r[scustomfilepath]?>" size="38"></td> </tr> <tr bgcolor="#FFFFFF"> <td width="22%" height="25">默认值</td> <td>宽: <input name="spicwidth" type="text" id="spicwidth" value="<?=$r[spicwidth]?>" size="6"> ×高: <input name="spicheight" type="text" id="spicheight" value="<?=$r[spicheight]?>" size="6"></td> </tr> <tr bgcolor="#FFFFFF"> <td height="25">超出部分是否截取</td> <td><input type="radio" name="spickill" value="1"<?=$r['spickill']==1?' checked':''?>> 是 <input type="radio" name="spickill" value="0"<?=$r['spickill']==0?' checked':''?>> 否</td> </tr> </table>
2.添加数据库结构字段 spicswitch 类型 int 长度 1 (已更正原spicwidth错误 更改为spicswitch) scustomfilepath 类型varchar 长度 30 添加数据库写入字段 搜索(续上一篇的操作) $add['customfilepath']=hRepPostStr($add['customfilepath'],0); 在后面添加 $add['spicswitch']=(int)$add['spicswitch']; $add['scustomfilepath']=hRepPostStr($add['scustomfilepath'],0);
搜索(续上一篇的操作) ,customfilepath='$add[customfilepath]' 在后面添加 ,spicswitch='$add[spicswitch]',scustomfilepath='$add[scustomfilepath]'
3.在改文件/e/class/connect.php 搜索function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){ //***红色部分为新增和修改***// //上传文件 function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){ global $public_r,$class_r,$doetran,$efileftp_fr,$empire,$dbtbpre; $classid=(int)$classid; //文件类型 $r[filetype]=GetFiletype($file_name); //文件名 $r[insertfile]=ReturnDoTranFilename($file_name,$classid); $r[filename]=$r[insertfile].$r[filetype]; //日期目录 $r[filepath]=FormatFilePath($classid,$mynewspath,0); $filepath=$r[filepath]?$r[filepath].'/':$r[filepath]; //存放目录 $fspath=ReturnFileSavePath($classid); $r[savepath]=eReturnEcmsMainPortPath().$fspath['filepath'].$filepath;//moreport //附件地址 $r[url]=$fspath['fileurl'].$filepath.$r[filename]; //缩图文件 $ur=$empire->fetch1("select scustomfilepath,customfilepath,spicswitch from {$dbtbpre}enewspublic limit 1");//查询网站设置数据记录表 $scustomfilepath=$ur['scustomfilepath']?$ur['scustomfilepath']:$ur['customfilepath'];//自定义缩图目录 $r[savepath2]=eReturnEcmsMainPortPath().$scustomfilepath.$filepath;//获取自定义目录 $savepath2=$r[savepath2]; if (!is_dir($savepath2)) {//建立时间目录权限 mkdir($savepath2, 0777, true); } if($ur['spicswitch']==0){ $r[name]=$r[savepath]."small".$r[insertfile];//缩图返回目录地址 }else{ $r[name]=$r[savepath2]."small".$r[insertfile];//修改后的缩图返回目录地址 } //附件文件 $r[yname]=$r[savepath].$r[filename]; $r[tran]=1; //验证类型 if(CheckSaveTranFiletype($r[filetype])) { if($doetran) { $r[tran]=0; return $r; } else { printerror('TranFail','',$ecms); } } //上传文件 $cp=@move_uploaded_file($file,$r[yname]); if(empty($cp)) { if($doetran) { $r[tran]=0; return $r; } else { printerror('TranFail','',$ecms); } } DoChmodFile($r[yname]); $r[filesize]=(int)$file_size; //FileServer if($public_r['openfileserver']) { $efileftp_fr[]=$r['yname']; } return $r; }
还有一处是 //远程保存 function DoTranUrl($url,$classid){ 修改方式和上面的一样 不用远程保存可以忽略 代码太长就不贴出来了
4.修改改文件/e/admin/ecmseditor/fileinc/editorpic.php
搜索 $file=$fspath['fileurl'].$filepath.$r[filename];
改为
$ur=$empire->fetch1("select scustomfilepath,customfilepath,spicswitch from {$dbtbpre}enewspublic limit 1");//查询网站设置数据记录表 $scustomfilepath=$ur['scustomfilepath']?$ur['scustomfilepath']:$ur['customfilepath'];//自定义缩图目录 $char = "[s]"; if($ur['spicswitch']==0){//判断是否开启自定义缩图目录 $file=$fspath['fileurl'].$filepath.$r[filename]; }else{ if (strpos($ono, $char) !== false) {//用strpos函数判断$char是否为缩图 $file= $scustomfilepath.$filepath.$r[filename]; }else{ $file=$fspath['fileurl'].$filepath.$r[filename]; } }
*注意:此方法只能实现 后台 上传图片时生成在自定义目录的缩图 远程保存图片时生成在自定义目录的缩图 (但不限于不包括已上传的图片再去生成缩图,不支持发文章时远程保存图片时生成缩图) 全部地方都可以实现缩图自定义目录功能 需付费修改,如需求助修改请V我方式在签名 ,不需要请忽略,各位也可以自行琢磨,毕竟改的地方太多了,希望理解!! 吐槽:帝国UBB论坛 发帖真费劲啊!!!!!
本章完结....
|