for($i=0;$i<$num;$i++){
$x=rand(1,8)+$imagewidth*$i/4;
$y=rand(1,$imageheight/4);
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 15, $x, $y, $authnum, $font);
} 在这个循环语句里,求$num的作用?因为imagestring()函数的作用:向图像中添加数字。我认为$num肯定是用来限制向图像中添加数字的个数,
但是更改$num=4,$num=15 或者其他数字,图像中显示的仍然是4个字符。还有我想弱弱的问一下,通过post和get传递的参数,比如login?id=2&value=3,这个id,value通过
$_POST或者$_GET获取之后,id和value的值是整数还是字符呀!不想验证了,太麻烦,就大侠指教!!!PHP验证码$_POST[]
$x=rand(1,8)+$imagewidth*$i/4;
$y=rand(1,$imageheight/4);
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 15, $x, $y, $authnum, $font);
} 在这个循环语句里,求$num的作用?因为imagestring()函数的作用:向图像中添加数字。我认为$num肯定是用来限制向图像中添加数字的个数,
但是更改$num=4,$num=15 或者其他数字,图像中显示的仍然是4个字符。还有我想弱弱的问一下,通过post和get传递的参数,比如login?id=2&value=3,这个id,value通过
$_POST或者$_GET获取之后,id和value的值是整数还是字符呀!不想验证了,太麻烦,就大侠指教!!!PHP验证码$_POST[]
解决方案 »
- 今天写phpinfo.php用ftp 二进制方式上传到客户指定的虚拟主机,用IE 7打开弹出一个对话框叫我下载,用firefox打开却看到源码,是不是说不支持php呢?
- PHP编程在WAP开发中的应用
- 请教啊:这个地方为什么错误了?我实在看不懂了
- 如何获致 PostGreSQL 系统参数
- Warning: Cannot modify header information - headers already sent by
- 小白问题:请问 0xc9febb47a 为什么会是数字?
- 连不上mysql?
- 正则问题
- 帮帮忙吧!我的mail函数对某些email地址不管用,为什么?好痛苦!(ipman)
- PHP本地CURL正常,但是放到SAE上后出现object moved to here
- 新手求助:php mysql奇怪的乱码问题
- mysql_affected_rows的困惑
$x的计算方式导致只能显示四个数字而已第二个问题 我也不清楚到底是字符还是整数期待高人回答,但是可以当字符用也可以当整数用 这是PHP的魅力所在
调整一下书写次序就清楚了
$x = $imagewidth / 4 * $i + rand(1,8);
其中:
$imagewidth / 4 把画布宽度分成 4 分
$imagewidth / 4 * $i 第 $i 个字符在画布上的起始位置
rand(1,8) 让起始位置再向有偏移若干点当字符数超过 4 个的时候,并没有做任何限制,只是计算出的位置在画布以外。画了也白画
好像有点理解了,附带的问一下,如果想让生成的随机码里含有字母和数字,应该怎么改写?
希望大哥不吝赐教说真的如果你已经理解上边这个了 那只要看一下imagestring的几个参数就应该明白这个问题imagestring()的第五个参数就是指定写入什么东东你先来个$str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
然后每次从中随机取出一个字不就好了?
$str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for($i=0;$i<$num;$i++){
$x=rand(1,8)+$imagewidth*$i/4;
$y=rand(1,$imageheight/4);
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
$authnum=substr($str,rand(0,35),1);//从10个数+26个字母中随机选出一个
$vcodes.=$authnum;
imagestring($im, 15, $x, $y, $authnum, $font);
}