本文介紹通過修改系統文件對原來的標題圖片功能進行改造實現在發布的時候自動下載遠程圖片功能:
帝國cms默認的后臺是不能自動下載遠程圖片的,需在人工下載上傳比較麻煩,通過本教程就可以實現直接填寫遠程圖片地址,系統會自動下載保存圖片。
系統添加字段處理函數,將函數代碼加入到系統文件 e/class/userfun.php 文件中,放最后面或最前面都行,<?php 另起一行后,?>上一行前:
function f_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代碼"成以下代碼:
手動上傳:<input name="titlepic" type="text" id="titlepic" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[titlepic]))?>" size="45"><a onclick="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="選擇已上傳的圖片"><img src="../data/images/changeimg.gif" border="0" align="absbottom"></a><br>遠程下載:<input name="picurl" type="text" id="picurl" size="45">
提醒:需要注意的是,在修改前一定要先將原來的代碼或文件備份一下,如果萬一修改錯可以恢復。