帝国CMS的标题图片都是需求手动上传的,常常需求到其他网站下载图片,然后再上传。
本教程就可以完成直接填写长途图片地址,体系会主动下载保存图片。
第一步:添加字段处理函数
将以下函数刺进到 e/class/userfun.php 文件中

functionf_picurl($mid,$f,$isadd,$isq,$value,$cs){
global$empire,$dbtbpre,$public_r;
if($value){
return$value;
}
$picurl=$_POST['picurl'];
$classid=(int)$_POST['classid'];
if(empty($picurl)||!$classid){
return$value;
}
$r=DoTranUrl($picurl,$classid);
if(empty($r['tran'])){
return$value;
}
$r['filesize']=(int)$r['filesize'];
$filepass=(int)$_POST['filepass'];
$username='picurl';
$sql=eInsertFileTable($r['filename'],$r['filesize'],$r['filepath'],$username,$classid,$r['filename'],1,$filepass,$filepass,$public_r['fpath'],0,$modtype,$fstb);
return$r['url'];
}

第二步:修正 titlepic 字段
在“后台添加信息处理函数”处填上 f_picurl ,然后修正“输入表单替换html代码”成以下代码:

手动上传:<inputname="titlepic"type="text"id="titlepic"value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[titlepic]))?>"size="45">
<aonclick="window.open('ecmseditor/FileMain.php?type=1&classid=<?=$classid?>&infoid=<?=$id?>&filepass=<?=$filepass?>&sinfo=1&doing=1&field=titlepic<?=$ecms_hashur[ehref]?>','','width=700,height=550,scrollbars=yes');"title="挑选已上传的图片"><imgsrc="../data/images/changeimg.gif"border="0"align="absbottom"></a>
<br>
长途下载:<inputname="picurl"type="text"id="picurl"size="45">

阐明:以上办法搜集于网络,自己没有测验,请自行测验。

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:帝国CMS二次开发标题图片实现远程图片下载发布于2022-06-12 07:43:52

相关推荐