在網路上看到使用PHP寫的ValidateCode產生驗證碼類,感覺不錯,特拿來分析學習一下。 $charset 是隨機因子,這裡是去掉了幾個不容易區分的字元,如字母"i,l,o,q",數字"0,1"。有必要可以加入一些中文或其他字元或算式等。
在影像上產生驗證碼文字,主要考慮文字在影像上的位置和每一個文字顏色。
控制第n個文字的x軸位置 = (影像寬度 / 驗證碼長度) * (n-1) 隨機的偏移數; 其中n = {d1....n}
控制第n個文字的y軸位置 = 影像高度 / 2 隨機的偏移數;
mt_rand(0, 156) 隨機取文字顏色,0-156目的是取比較深的顏色。
mt_rand(-30, 30) 隨機的文字旋轉。