php中文驗證碼實現(xiàn)方法
更新時間:2015年06月18日 17:56:33 作者:瘋狂的流浪
這篇文章主要介紹了php中文驗證碼實現(xiàn)方法,涉及php中文字體及字符串操作的相關技巧,需要的朋友可以參考下
本文實例講述了php中文驗證碼實現(xiàn)方法。分享給大家供大家參考。具體分析如下:
先看如下效果圖:
具體代碼如下:
<?php /********************************* * Code by Gently * 24/07/07 *嚴正聲明:驗證碼為程序隨機生成,“某種巧合”的詞語組合屬于正常現(xiàn)象 , *某些別有用心的人不要借題發(fā)揮! *Power by ZendStudio.Net *********************************/ session_start(); header("Content-type: image/PNG"); $w=180; $h=60; $fontface="C:\WINDOWS\Fonts\MSYH.TTF"; //字體文件 $str = "們以我到他會作時要動國產(chǎn)的一是工就年階義發(fā)成部民可出能方進在 了不和有大這主中人上為來分生對于學下級地個用同行面說種過命度革而多子 后自社加小機也經(jīng)力線本電高量長黨得實家定深法表著水理化爭現(xiàn)所二起政三 好十戰(zhàn)無農(nóng)使性前等反體合斗路圖把結(jié)第里正新開論之物從當兩些還天資事隊 批點育重其思與間內(nèi)去因件日利相由壓員氣業(yè)代全組數(shù)果期導平各基或月毛然 如應形想制心樣干都向變關問比展那它最及外沒看治提五解系林者米群頭意只 明四道馬認次文通但條較克又公孔領軍流入接席位情運器并飛原油放立題質(zhì)指 建區(qū)驗活眾很教決特此常石強極土少已根共直團統(tǒng)式轉(zhuǎn)別造切九你取西持總料 連任志觀調(diào)七么山程百報更見必真保熱委手改管處己將修支識病象幾先老光專 什六型具示復安帶每東增則完風回南廣勞輪科北打積車計給節(jié)做務被整聯(lián)步類 集號列溫裝即毫知軸研單色堅據(jù)速防史拉世設達爾場織歷花受求傳口斷況采精 金界品判參層止邊清至萬確究書術狀廠須離再目海交權(quán)且兒青才證低越際八試 規(guī)斯近注辦布門鐵需走議縣兵固除般引齒千勝細影濟白格效置推空配刀葉率述 今選養(yǎng)德話查差半敵始片施響收華覺備名紅續(xù)均藥標記難存測士身緊液派準斤 角降維板許破述技消底床田勢端感往神便賀村構(gòu)照容非搞亞磨族火段算適講按 值美態(tài)黃易彪服早班麥削信排臺聲該擊素張密害侯草何樹肥繼右屬市嚴徑螺檢 左頁抗蘇顯苦英快稱壞移約巴材省黑武培著河帝僅針怎植京助升王眼她抓含苗 副雜普談圍食射源例致酸舊卻充足短劃劑宣環(huán)落首尺波承粉踐府魚隨考刻靠夠 滿夫失包住促枝局菌桿周護巖師舉曲春元超負砂封換太模貧減陽揚江析畝木言 球朝醫(yī)校古呢稻宋聽唯輸滑站另衛(wèi)字鼓剛寫劉微略范供阿塊某功套友限項余倒 卷創(chuàng)律雨讓骨遠幫初皮播優(yōu)占死毒圈偉季訓控激找叫云互跟裂糧粒母練塞鋼頂 策雙留誤礎吸阻故寸盾晚絲女散焊功株親院冷徹彈錯散商視藝滅版烈零室輕血 倍缺厘泵察絕富城沖噴壤簡否柱李望盤磁雄似困鞏益洲脫投送奴側(cè)潤蓋揮距觸 星松送獲興獨官混紀依未突架寬冬章濕偏紋吃執(zhí)閥礦寨責熟穩(wěn)奪硬價努翻奇甲 預職評讀背協(xié)損棉侵灰雖矛厚羅泥辟告卵箱掌氧恩愛停曾溶營終綱孟錢待盡俄 縮沙退陳討奮械載胞幼哪剝迫旋征槽倒握擔仍呀鮮吧卡粗介鉆逐弱腳怕鹽末陰 豐霧冠丙街萊貝輻腸付吉滲瑞驚頓擠秒懸姆爛森糖圣凹陶詞遲蠶億矩康遵牧遭 幅園腔訂香肉弟屋敏恢忘編印蜂急拿擴傷飛露核緣游振操央伍域甚迅輝異序免 紙夜鄉(xiāng)久隸缸夾念蘭映溝乙嗎儒殺汽磷艱晶插埃燃歡鐵補咱芽永瓦傾陣碳演威 附牙芽永瓦斜灌歐獻順豬洋腐請透司危括脈宜笑若尾束壯暴企菜穗楚漢愈綠拖 牛份染既秋遍鍛玉夏療尖殖井費州訪吹榮銅沿替滾客召旱悟刺腦措貫藏敢令隙 爐殼硫煤迎鑄粘探臨薄旬善??v擇禮愿伏殘雷延煙句純漸耕跑澤慢栽魯赤繁境 潮橫掉錐希池敗船假亮謂托伙哲懷割擺貢呈勁財儀沉煉麻罪祖息車穿貨銷齊鼠 抽畫飼龍庫守筑房歌寒喜哥洗蝕廢納腹乎錄鏡婦惡脂莊擦險贊鐘搖典柄辯竹谷 賣亂虛橋奧伯趕垂途額壁網(wǎng)截野遺靜謀弄掛課鎮(zhèn)妄盛耐援扎慮鍵歸符慶聚繞摩 忙舞遇索顧膠羊湖釘仁音跡碎伸燈避泛亡答勇頻皇柳哈揭甘諾概憲濃島襲誰洪 謝炮澆斑訊懂靈蛋閉孩釋乳巨徒私銀伊景坦累勻霉杜樂勒隔彎績招紹胡呼痛峰 零柴簧午跳居尚丁秦稍追梁折耗堿殊崗挖氏刃劇堆赫荷胸衡勤膜篇登駐案刊秧 緩凸役剪川雪鏈漁啦臉戶洛孢勃盟買楊宗焦賽旗濾硅炭股坐蒸凝竟陷槍黎救冒 暗洞犯筒您宋弧爆謬涂味津臂障褐陸啊健尊豆拔莫抵桑坡縫警挑污冰柬嘴啥飯 塑寄趙喊墊丹渡耳刨虎筆稀昆浪薩茶滴淺擁穴覆倫娘噸浸袖珠雌媽紫戲塔錘震 歲貌潔剖牢鋒疑霸閃埔猛訴刷狠忽災鬧喬唐漏聞沈熔氯荒莖男凡搶像漿旁玻亦 忠唱蒙予紛捕鎖尤乘烏智淡允叛畜俘摸銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌 堂拌爸循誘祝勵肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿(mào)糞綜墻趨彼屆墨礙啟逆卸 航衣孫齡嶺騙休借"; $code=""; for($i=0;$i<4;$i++){ $Xi=mt_rand(0,strlen($str)/2); if($Xi%2) $Xi+=1; $code.=substr($str,$Xi,2); } $_SESSION['code']=$code; $im=imagecreatetruecolor($w,$h); $bkcolor=imagecolorallocate($im,250,250,250); imagefill($im,0,0,$bkcolor); /***添加干擾***/ for($i=0;$i<15;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand (0,255),mt_rand(0,255)); imagearc($im,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand (30,300),mt_rand(20,200),55,44,$fontcolor); } for($i=0;$i<255;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand (0,255),mt_rand(0,255)); imagesetpixel($im,mt_rand(0,$w),mt_rand(0,$h),$fontcolor); } /***********內(nèi)容*********/ for($i=0;$i<4;$i++){ $fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand (0,120),mt_rand(0,120)); //這樣保證隨機出來的顏色較深。 $codex=iconv("GB2312","UTF-8",substr($code,$i*2,2)); imagettftext($im,mt_rand(20,24),mt_rand(- 60,60),40*$i+20,mt_rand(30,35),$fontcolor,$fontface,$codex); } imagepng($im); ?>
希望本文所述對大家的php程序設計有所幫助。
相關文章
phpmyadmin提示The mbstring extension is missing的解決方法
這篇文章主要介紹了phpmyadmin提示The mbstring extension is missing的解決方法,分析了錯誤提示的原因與不同平臺的解決方法,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12php實現(xiàn)跨域提交form表單的方法【2種方法】
這篇文章主要介紹了php實現(xiàn)跨域提交form表單的方法,結(jié)合實例形式分析了curl及ajax兩種方法進行跨域提交的操作技巧,需要的朋友可以參考下2016-10-10PHP下escape解碼函數(shù)的實現(xiàn)方法
很多時候需要用到js的escape函數(shù)來轉(zhuǎn)換中文字符,可是用js轉(zhuǎn)換后的字符怎么用php來轉(zhuǎn)換回來呢,下面我就找到了兩個很實用的函數(shù)。2010-08-08php多次include后導致全局變量global失效的解決方法
這篇文章主要介紹了php多次include后導致全局變量global失效的解決方法,實例分析了$GLOBALS失效的原理與解決方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02