flash教程打包下载 使用PHP实现密保卡功能实现代码<打包下载直接运行>
Jul 29, 2016 am 08:47 AM效果图:
密保卡入库
复制代码 代码如下:
$this->load->model('admin/m_mibao');
$data = array();
//生成随机横坐标
$rand_str = $this->_rand_str(10);
$arr = array();
for($k=0;$k
for ($i = 1;$i {
$rand = $this->_rand_num(3);
//赋给所有code的容器
$arr[$rand_str{$k} . $i] = $rand;
}
}
$data['code'] = serialize($arr); //序列化后将信息入库
$data['letter'] = $rand_str;
//避免重复序列号
while (TRUE)
{
$data['card_num'] = $this->_rand_num(20);
//判断序列号是否重复存在
if($this->m_mibao->has_card_num($data['card_num']) == 0)
{
break;
}
}
$data['add_time'] = TIME;
$data['user_id'] = $uid;
echo $this->mibao->insert($data);
密保卡图片生成
复制代码 代码如下:
//就是算坐标
public function show($user_id)
{
$this->load->model('admin/m_mibao');
$info = $this->m_mibao->get_by_uid($user_id);
if(emptyempty($info))
{
$this->msg('该用户无密保卡!','admin-index');
}
$codes = unserialize($info['code']);
//图片初始值
$bit = 3; //密保卡位数
$height = 332; //图片高度
$width = 626; //图片宽度
$im = imagecreatetruecolor($width,$height);
$linecolor = imagecolorallocate($im, 229,229,229);
$fontcolor = imagecolorallocate($im, 0, 0, 0);
$top_rectangle_color = imagecolorallocate($im,241,254,237);
$top_letter_color = imagecolorallocate($im,54,126,76);
$left_rectangle_color = imagecolorallocate($im,243,247,255);
$left_num_color = imagecolorallocate($im,4,68,192);
$logo_str_color = imagecolorallocate($im,0,0,0);
imagefill($im,0,0,imagecolorallocate($im,255,255,255)); //图片背景色
$font = './public/baomi/fonts/simsun.ttc'; //字体
$font_en = './public/baomi/fonts/CONSOLA.TTF'; //英文字体
$font2 = './public/baomi/fonts/simhei.ttf'; //密保卡上方黑体
$dst = imagecreatefromjpeg("./public/baomi/120.jpg");
imagecopymerge($im,$dst,120,15,0,0,193,55,100);
imageline($im,10,72,$width-10,72,$linecolor);
$ltext = "电子密保卡";
if(!imagettftext($im,10,0,340,47,$logo_str_color,$font2,$ltext)) {
exit('error');
}
//写入卡号
$b = '1000' . $info['card_num'];
for($i=0;$i$p.= substr($b,3*$i,4). ' ';
}
$x = 40; $y = 95; //序列号位置
imagettftext($im,10,0,$x,$y,$color,$font,'序列号');
imagettftext($im,11,0,$x+50,$y,$color,$font_en,$p);
//颜色框
imagefilledrectangle($im,10,106,$width-10,128,$top_rectangle_color);
imagefilledrectangle($im,10,129,65,$height-10,$left_rectangle_color);
//写入最上排英文字母及竖线
for($i=1;$i$x = $i*55+35; $y = 123; $float_size = 11; //字母位置参数
imagettftext($im,$float_size,0,$x,$y,$top_letter_color,$font_en,$info['letter']{$i-1});//写入最上排英文字母
}
for($i=0;$i$linex = $i*55+65; $liney = 105; $liney2 = $height-10; //竖线位置参数
imageline($im,$linex,$liney,$linex,$liney2,$linecolor);//划入竖线
}
//写入竖排数字及填入矩阵数据 划横线
for($j=0;$j$jj=$j+1;
$x=35; $y=($jj*24)+123; //左排数字及横线位置参数
imagettftext($im, $float_size, 0, $x, $y, $left_num_color, $font_en, $jj);//写入左排数字
for($i=1;$i$float_size2=11; $x = $i*55+27; $sy=$y; //填入矩阵数据位置参数
$s = $info['letter']{$i-1};
$s .= $j + 1;
imagettftext($im,$float_size2,0,$x,$sy,$fontcolor,$font_en,$codes[$s]);//写入矩阵数据
}
}
for($j=0;$j$line_x=10; $line_x2=$width-10;$y=$j*24+105; //横线位置参数 y坐标数据同上
imageline($im,$line_x,$y,$line_x2,$y,$linecolor);//划入横线
}
//外框边线
imageline($im,10,10,$width-10,10,$linecolor);//横线
//imageline($im,10,$height-10,$width-10,$height-10,$linecolor);
imageline($im,10,10,10,$height-10,$linecolor);//竖线
imageline($im,$width-10,10,$width-10,$height-10,$linecolor);
//生成图片
ob_clean();
header("Content-type: image/jpeg");
imagejpeg($im,null,100);
imagedestroy($im);
}
密保卡验证
复制代码 代码如下:
public function test1($uid)
{
$this->load->model('admin/m_users');
$user = $this->m_users->sel($uid);
//post提交过来验证
if($this->is_post())
{
$codes = $this->m_mibao->get_codes_by_uid($uid);
$codes = unserialize($codes);
$is_true = true;
foreach($_SESSION['mibao']['keys'] as $key)
{
if($codes[$key] != $_POST['values'][$key])
{
$is_true = false;
}
}
if($is_true)
{
die('正确');
}
else
{
die('错误');
}
}
else
{
//渲染视图
$info = $this->m_mibao->get_by_uid($uid);
$data = array();
$data['keys'] = $this->m_mibao->get_rand_keys($info['letter']);
$_SESSION['mibao']['keys'] = $data['keys'];
$data['uid'] = $uid;
$this->load->view('test1',$data);
}
本站打包下载
以上就介绍了flash教程打包下载 使用PHP实现密保卡功能实现代码,包括了flash教程打包下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

Misque de réponse HTTP simplifié dans les tests Laravel

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon

Annonce de l'enquête sur la situation en 2025 PHP
