慕工程0515242
$fontcontent=substr($data,rand(0,strlen($data)-1),1);
qq_百度信誉认证中心蒲超_0
这是PHP中的代码,我们从括号里往外看:
strlen()用于返回字符串$data的长度,假设$data字符串长度为10;
rand(0,strlen($data))生成0~10中的一个随机整数并返回,假设返回6;
substr($data,rand(0,strlen($data)),1);先简化为:
substr($data,6,1);就是返回$data字符串中从下标为6的字符开始截取1个字符并返回;
假设$data="一二三四五六七八九十";
就是先用strlen()得到这个字符串的长度10,然后用rand()从0~10中取一个随机整数6,然后用这个整数6做下标用substr()取出字符串中对应的字符"七"。
这串代码应该有点问题,因为字符串的长度会比字符串的最大下标大1,所以应该是strlen($data)-1。
修正后的代码可以在PHP中用于在若干个自定义字符中随机选取若干个生成验证码
$data = 'abcdefghijkmnpqrstuvwxyQWERTYUIOPLKJHGFDSAZXCVBNM3456789';
$code = ""; //定义一个空字符串
for ($i = 0; $i < 4; $i++) { //循环四次
$code .= substr($data, rand(0, strlen($data)-1), 1); //将随机取出的字符拼入字符串$code中
}
上述代码就是在所有大小写字母和数字中随机选取4个字符(除了小写l,z,o,数字1,2)当成验证码保存在$code中。
小辉辉
都可以,只要能随机出来就行。但是我觉得吧,这种多个随机函数外面再加array_merge函数的效率会相对低一点。
慕桂英4677465
$fontcontent=substr($data,rand(0,strlen($data)-1),1);
有时候是3个是因为随机截取到最后一个值strlen($data)),而这个值取不到。
随机截取字符串,角标从0开始的,strlen($data)为第n+1个,总共才n个,因此要减一,
慕粉3351548
应该是复制的.他是一个变量
不止于ZQ
使用 imagettftext() 这个函数,,
寒墨凌
你将画布设置为宽60px,高30px, 其它涉及到宽或高的代码数值作相应的适当变动就可以了。
lovelyday
贴图加代码
LLeo小浩
cnhanyi
mracale
小馒头
darry_start
illmy
zhangshuogz
S_
sjywz
团酱
noprom
Just254960
zhuce01
BigQ
apple2008