PDA

查看完整版本 : Ecms手机号码等以图片形式输出文件,支持多模型


Tony
2008-03-25, 10:59 PM
这个功能主要是防采集用的,基本思路是
根据信息的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
//
?>