国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP驗證碼生成例子

2024-09-04 11:44:34
字體:
來源:轉載
供稿:網友

一個非常簡單的PHP驗證碼生成例子,在這個PHP驗證碼生成我們需要使用到php_gd2.dll擴展了,下面我就來給大家整個例子了,希望對各位朋友會帶來幫助.

使用PHP的GD庫擴展類制作驗證碼的基本步驟:啟用php.ini配置文件中的extension=php_gd2.dll擴展,打開php.ini配置文件,去掉行首的分號后重啟Apache即可.

下面是PHP生成驗證碼的代碼:

  1. <?php 
  2. for($i=0;$i<5;$i++){ 
  3.     $suijishu.=dechex(rand(1,15));//使用循環產生一個十六進制格式的五位數 
  4. setcookie("useryzm",$suijishu);//創建一個名為useryzm、值為$suijishu的cookie 
  5. $img=imagecreatetruecolor(100,30);//創建一個寬100高30的圖片驗證碼 
  6. $bg=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定義驗證碼的背景顏色 
  7. $sc=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定義驗證碼字體的顏色 
  8. imagestring($img,5,rand(0,50),rand(0,15),$suijishu,$sc);//定義字體的位置(左上角為坐標原點) 
  9. for($k=0;$k<10;$k++){ 
  10.     imageline($img,rand(1,100),rand(1,100),rand(1,100),rand(1,100),$sc);//在驗證碼上繪制直線(擾亂作用) 
  11.     imagesetpixel($img,rand(1,100),rand(1,30),$sc);//在驗證碼上繪制點(擾亂作用)//開源軟件:Vevb.com 
  12. ob_clean();//清空輸出緩沖區(這句很重要) 
  13. header("Content-type:image/jpeg");//定義輸出圖片的格式(image/后面可以是jpeg或png或gif等圖片格式) 
  14. imagejpeg($img);//輸出圖象 
  15. imageDestroy($img);//釋放內存,完成創建 
  16. ?> 

下面是HTML中調用驗證碼的代碼:

  1. <html> 
  2. ... 
  3. <script language="javascript"
  4. function changeyzm(){ 
  5.     var img = document.getElementById("yzmimg").src = "gdyzm.php?id="+Math.random()*10; 
  6.     return ; 
  7. </script> 
  8. ... 
  9. <img src="gdyzm.php" name="yzmimg" width="100" height="30" id="yzmimg" title="點擊刷新" onclick="changeyzm();" /> 
  10. ... 
  11. </html> 

如果出現"圖像“XXXX”因其本身有錯無法顯示"的錯誤,很可能是漏了ob_clean();這句,或是文件的物理編碼出了問題,修改物理編碼的方法可以參考PHP創建utf8文件.

如果沒有加ob_clean();這句,在本地測試且物理編碼為ANSI時沒問題,物理編碼為UTF-8時則會報錯,圖像“XXXX”因其本身有錯無法顯示.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资中县| 威海市| 肥乡县| 习水县| 阳曲县| 藁城市| 大渡口区| 阳江市| 富裕县| 全州县| 察雅县| 略阳县| 开原市| 荣成市| 安泽县| 辽宁省| 望奎县| 濮阳县| 余姚市| 馆陶县| 益阳市| 牙克石市| 岑溪市| 房山区| 洪雅县| 兰坪| 股票| 鄂尔多斯市| 杨浦区| 苍溪县| 济阳县| 延边| 荣成市| 桂阳县| 灵寿县| 肇庆市| 义乌市| 咸丰县| 肇州县| 抚州市| 南岸区|