这个功能主要是防采集用的,基本思路是 根据信息的id查找其所在数据表上的其他字段,然后将这些字段以图片形式输出,挺简单的。 代码也是根据ecms里其他文件改的。 高手们觉得哪里不对,帮忙指导指导
把附件放到e/下面文件名可以自己改,不过代码和路径不要错。
<?php require("../class/connect.php"); include("../class/db_sql.php"); include("../class/config.php"); $link=db_connect(); $empire=new mysqlquery(); $mid=(int)$_GET['mid']; //取得模型id if(!$mid) { $mid=8; //如果模型id没有,则默认为8,新装的ecms分类模型应该是8,改成自己系统的即可 } $mr=$empire->fetch1("select tbname from {$dbtbpre}enewsmod where mid=$mid"); //从模型表查找其所属的数据表 $id=""; $id=(int)$_GET['id']; //获得信息id $type=""; $type=addslashes(stripSlashes($_GET['type'])); //获得要处理的字段类型
//开始查表,查找信息id,电话phone,msn 从 数据表{$dbtbpre}ecms_".$mr['tbname']." 条件信息id=$id //这里还可以自己添加更多的字段,比如我加了QQ号这个字段 则可以写成 select id,phone,msn,qq from ...... $query="select id,phone,msn from {$dbtbpre}ecms_".$mr['tbname']." where id=$id"; $sql=$empire->query($query); $r=$empire->fetch($sql); $tel=""; if($type=="msn") //如果字段类型是msn则给$tel赋值$r[msn] { if($r[msn]) { $tel=$r[msn]; } } else if($type=="phone") //如果字段类型是phone则给$tel赋值$r[phone] { if($r[phone]) { $tel=$r[phone]; } } // // 如果你还有更多字段则可以继续添加 // // else if($type=="你自定义的字段") // { // if($r[...]) // { // $tel=$r[...]; // } // } // // 下面把$tel加载到图像上输出, header("Content-type: image/png"); $im = imagecreatefrompng("backimg.png"); // 背景图的名称 backimg.png 图片放在和此文件同目录下,可以自己用PS做一个 建议200*15 图片类型要和声明的类型一样 $tel_width = imagettfbbox(0, 9, "./lsansi.ttf", $tel); //0和9 是位置顺序 后面是字体 字体请改成你自己的名字,注意路径别错了 $x_value = (5); //字体的开始位置 可以直接给值 $color = imagecolorallocate($im, 0, 0, 0); //字体颜色 10进制表示 imagettftext($im, 12, 0, $x_value, 12, $color,"./lsansi.ttf", $tel); //12代表 字体大小 for($i=0;$i<200;$i++) //加入干扰象素 这个可要可不要 { $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%200 , rand()%30 , $randcolor); }
imagepng($im); imagedestroy($im); db_close(); $empire=null;
//使用的时候放在模板里要以图片输出的地方 //如在内容模板里 //手机号码:<img src="[!--news.url--]e/haha/fc.php?mid=8&type=phone&id=[!--id--]" /></img> //mid= 后面是你的模型id可以不要,没有则默认为8,最上面可以自己改,后面两个必须要。 //此文件如果改为index.php则可以直接通过下面的形式调用 //<img src="[!--news.url--]e/haha/?mid=8&type=phone&id=[!--id--]" /></img> // // // // // // // // ——by Crystaleyes // ?>
|