用火车头采集信息的站长,如果想采集标题图片可能会遇到一个麻烦:要先下载到本地再上传到服务器。本文介绍一种方法,可以直接将远程图片网址用于标题图片。
第一步:添加字段处理函数
将以下函数插入到 e/class/userfun.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">