喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [原创] 新手写的php图形验证码。  
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
新手写的php图形验证码。



<?php
ob_start
();
session_start();

$img imagecreate(60,20);
$bgcolor imagecolorallocate($img,255,255,255);

mt_srand(make_seed());
$randval mt_rand();
$seccode substr($randval,-4);
$_SESSION['seccode'] = $seccode;
//echo $_SESSION['code'];
for($i 0$i 4$i++){
    
$color imagecolorallocate($img,abs(mt_rand()%256),abs(mt_rand()%256),abs(mt_rand()%256));
    
imagechar($img,5,abs(mt_rand()%4)+$i*10+8,abs(mt_rand()%4),$seccode[$i],$color);    



header('content-Type:image/gif');

imagegif($img);

function 
make_seed()
{
    list(
$usec$sec) = explode(' 'microtime());
    return (float) 
$sec + ((float) $usec 100000);
}
?>
自己运行下就可以看到效果了。刷新浏览器就刷新验证码

[ 本帖最后由 angeljyt 于 2006-8-26 06:55 AM 编辑 ]
2006-8-26 06:53 AM#1
查看资料  Blog  发短消息  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
咋没人理俺呢?

咋没人理俺呢?兄弟姐妹们也发表发表意见啊。让我也知道写得是好是坏啊,我好改进
2006-8-26 06:21 PM#2
查看资料  Blog  发短消息  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[推荐阅读] 我在这里向大家致歉了
修正一下



<?php
ob_start
();
session_start();

mt_srand(make_seed());
$randval mt_rand();
$seccode substr($randval,-4);
$_SESSION['seccode'] = $seccode;

$img imagecreate(60,20);
$bgcolor imagecolorallocate($img,255,255,255);
for(
$i 0$i 4$i++){
    
$color imagecolorallocate($img,abs(mt_rand()%256),abs(mt_rand()%256),abs(mt_rand()%256));
    
imagechar($img,5,abs(mt_rand()%4)+$i*15,abs(mt_rand()%5),$seccode[$i],$color);    



header('content-Type:image/gif');

imagegif($img);

function 
make_seed()
{
    list(
$usec$sec) = explode(' 'microtime());
    return (float) 
$sec + ((float) $usec 100000);
}
?>
2006-8-27 01:20 AM#3
查看资料  Blog  发短消息  顶部
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 1253
帖子 2219
金钱 1253 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
[推荐阅读] PHP 一個繪圖函數出的問題
ob_start();
session_start();
为什么要以上两句,他们对效率或者其他那些地方其作用!

解释以下 

麻烦详细点!

要了怎样,不要怎样!
给点对比数据




编程教材专卖
大学生兼职
2006-8-27 06:30 PM#4
查看资料  Blog  发短消息  QQ  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[推荐阅读] 键盘键位错了,急…………


QUOTE:
原帖由 c1a1o1 于 2006-8-27 06:30 PM 发表
ob_start();
session_start();
用ob_start()是为了缓存输出。不用可以的。
用session是为了保存验证码.
我还是新手,还在学习中。写的不好的地方,请多多指教。
2006-8-27 07:44 PM#5
查看资料  Blog  发短消息  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[推荐阅读] 求助有关egroupware项目的问题
再次修正



<?php
ob_start
();
session_start();
header('content-Type:image/gif');

mt_srand(make_seed());
$randval  mt_rand();
$seccode substr($randval,-4);
$length    =  strlen($seccode);
$_SESSION['seccode']  =  $seccode//用SESSION保存验证码

$img       imagecreate(60,20);
$bgcolor imagecolorallocate($img,255,255,255);

for  (
$i 0$i $length;  $i++)  {
    
$color imagecolorallocate($img,abs(mt_rand()%256),abs(mt_rand()%256),abs(mt_rand()%256)); //随机取色
     
imagechar($img,5,abs(mt_rand()%4)+$i*15,abs(mt_rand()%5),$seccode[$i],$color);//随机每个字符的x,y值   
 


imagegif($img);
imageDestroy($img); //释放资源。(以前发的忘了。终于发现什么叫对称之美了)
ob_end_flush();

/*
设置随机数种子,从php手册中抄来的。
*/
function make_seed()
{
    list(
$usec$sec) = explode(' 'microtime());
    return (float) 
$sec + ((float) $usec 100000);
}
?>
2006-8-27 07:51 PM#6
查看资料  Blog  发短消息  顶部
 
Ymir
新手上路
Rank: 1



UID 72483
精华 0
积分 24
帖子 45
金钱 24 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-4-28
状态 离线
[推荐阅读] 【求助】关于用FTP函数上传文件时遇到问题
没有干扰码不好吧
2006-8-28 11:26 AM#7
查看资料  发短消息  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[推荐阅读] 上传文件类型
我才先写出个样子来,以后再改进
2006-8-28 06:55 PM#8
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.028323 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP