Rumah pembangunan bahagian belakang tutorial php 验证码PHP类 支持数字,字母,汉字,混合

验证码PHP类 支持数字,字母,汉字,混合

Jul 25, 2016 am 08:46 AM

  1. // +------------------------------------------------------------------------
  2. // 验证码类,该类的对象能动态获取验证码图片,验证码字符保存在SESSION['code']中
  3. // +------------------------------------------------------------------------
  4. // 支持4种格式 数字 字母 汉字 混合
  5. // +------------------------------------------------------------------------
  6. // @Author: HelloChina(sanzi0930@163.com)
  7. // +------------------------------------------------------------------------
  8. // @Date: 2012年6月7日11:03:00
  9. // +------------------------------------------------------------------------
  10. // @version 1.0
  11. // +------------------------------------------------------------------------
  12. class Vcode{
  13. protected $width; //验证码宽度
  14. protected $height; //验证码长度
  15. protected $codeNum; //验证码字符个数
  16. protected $codeType; //验证码类型
  17. protected $fontSize; //字符大小
  18. protected $fontType; //字体类型
  19. protected $codeStr; //中文内容
  20. protected $strNum; //中文个数
  21. protected $imageType; //输出图片类型
  22. protected $image; //图片资源
  23. protected $checkCode; //验证码内容
  24. /**
  25. +--------------------------------------------------------------------------------
  26. * 取得验证码信息
  27. +--------------------------------------------------------------------------------
  28. * @param integer $width 验证码宽度
  29. * @param integer $height 验证码高度
  30. * @param integer $codeNum 验证码字符个数
  31. * @param integer $codeType 验证码字符类型 1为数字 2为字母 3为汉字 4为混编
  32. * @param integer $fontSize 验证码字体的大小
  33. * @param string $fontType 验证码字体类型
  34. * @param string $imageType 验证码输出图片类型
  35. * @param string $codestr 中文验证码内容
  36. +--------------------------------------------------------------------------------
  37. */
  38. public function __construct($width=100, $height=50, $codeNum=4, $codeType=4, $fontSize=12, $fontType='heiti.ttf' ,$imageType='jpeg', $codeStr='去我饿人他一哦平啊是的飞个好就看了在想才吧你吗'){
  39. $this->width = $width;
  40. $this->height = $height;
  41. $this->codeNum = $codeNum;
  42. $this->codeType = $codeType;
  43. $this->fontSize = $fontSize;
  44. $this->fontType = $fontType;
  45. $this->codeStr = $codeStr;
  46. $this->strNum = strlen($this->codeStr)/3-1;
  47. $this->imageType = $imageType;
  48. $this->checkCode = $this->getCheckCode();
  49. }
  50. //+--------------------------------------------------------------------------------
  51. //* 生成验证码字符
  52. //+--------------------------------------------------------------------------------
  53. //* @return string
  54. //+--------------------------------------------------------------------------------
  55. public function __toString(){
  56. $string = implode('', $this->getCheckCode());
  57. $_SESSION["code"]=$string; //加到session中
  58. $this->getImage(); //输出验证码
  59. return '';
  60. }
  61. protected function getCheckCode(){
  62. $string = array();
  63. switch($this->codeType){
  64. case 1:
  65. //数字字符串
  66. $string = array_rand(range(0,9), $this->codeNum);
  67. break;
  68. case 2:
  69. //大字母字符串
  70. $string = array_rand(array_flip(range('A', 'Z')), $this->codeNum);
  71. break;
  72. case 3:
  73. //汉字字符串
  74. for($i=0; $icodeNum); $i++){
  75. $start = mt_rand(0, $this->strNum);
  76. $string[$i]= self::msubstr($this->codeStr,$start);
  77. }
  78. break;
  79. case 4:
  80. //混合字符串
  81. for($i=0; $icodeNum); $i++){
  82. $rand=mt_rand(0,2);
  83. switch($rand){
  84. case 0:
  85. $ascii = mt_rand(48,57);
  86. $string[$i] = sprintf('%c',$ascii);
  87. break;
复制代码

验证码, PHP
本主题由 小贝 于 2015-11-18 08:23 移动


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sari kata Stremio tidak berfungsi; ralat memuatkan sari kata Sari kata Stremio tidak berfungsi; ralat memuatkan sari kata Feb 24, 2024 am 09:50 AM

Sarikata tidak berfungsi pada Stremio pada PC Windows anda? Sesetengah pengguna Stremio melaporkan bahawa sari kata tidak dipaparkan dalam video. Ramai pengguna melaporkan mengalami mesej ralat yang mengatakan "Ralat memuatkan sari kata." Berikut ialah mesej ralat penuh yang muncul dengan ralat ini: Ralat berlaku semasa memuatkan sari kata Gagal memuatkan sari kata: Ini mungkin masalah dengan pemalam yang anda gunakan atau rangkaian anda. Seperti yang dikatakan oleh mesej ralat, mungkin sambungan internet anda yang menyebabkan ralat. Jadi sila semak sambungan rangkaian anda dan pastikan internet anda berfungsi dengan baik. Selain itu, mungkin terdapat sebab lain di sebalik ralat ini, termasuk sarikata yang bercanggah, sari kata yang tidak disokong untuk kandungan video tertentu dan apl Stremio yang sudah lapuk. suka

Program C++: susun semula kedudukan perkataan dalam susunan abjad Program C++: susun semula kedudukan perkataan dalam susunan abjad Sep 01, 2023 pm 11:37 PM

Dalam masalah ini, rentetan diberikan sebagai input dan kita perlu mengisih perkataan yang terdapat dalam rentetan dalam susunan leksikografi. Untuk melakukan ini, kami menetapkan indeks bermula dari 1 kepada setiap perkataan dalam rentetan (dipisahkan oleh ruang) dan mendapatkan output dalam bentuk indeks yang diisih. String={"Hello","World"}"Hello"=1 "World"=2 Memandangkan perkataan dalam rentetan input adalah dalam susunan leksikografi, output akan mencetak "12". Mari lihat beberapa senario input/hasil - dengan mengandaikan semua perkataan dalam rentetan input adalah sama, mari lihat keputusan - Input:{"hello","hello","hello"}Result:3 Keputusan diperoleh

Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Dec 23, 2023 pm 04:09 PM

Perlaksanaan Golang: Kaedah untuk menentukan sama ada aksara itu huruf Di Golang, terdapat banyak cara untuk menentukan sama ada aksara itu huruf. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan ini dan memberikan contoh kod khusus untuk setiap kaedah. Kaedah 1: Gunakan fungsi IsLetter bagi pakej Unicode Pakej Unicode di Golang menyediakan fungsi yang dipanggil IsLetter, yang boleh menentukan sama ada aksara ialah huruf. Fungsi ini digunakan seperti berikut: packagemaini

Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Cara menggunakan Golang untuk menentukan sama ada aksara adalah huruf Dec 23, 2023 am 11:57 AM

Cara menggunakan Golang untuk menentukan sama ada aksara ialah huruf Dalam Golang, menentukan sama ada aksara ialah huruf boleh dicapai dengan menggunakan fungsi IsLetter dalam pakej Unicode. Fungsi IsLetter menyemak sama ada aksara yang diberikan ialah huruf. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menulis kod untuk menentukan sama ada sesuatu aksara itu adalah huruf. Pertama, anda perlu mencipta fail Go baharu untuk menulis kod tersebut. Anda boleh menamakan fail "main.go". kod

一个汉字的机内码需要几个字节储存 一个汉字的机内码需要几个字节储存 Dec 14, 2020 pm 05:45 PM

一个汉字的机内码需要2个字节储存。在国内流行的汉字系统中,一个汉字的机内码占2个字节,因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性;为此,汉字机内码应对国标码加以适当处理和变换。

Kuasai kemahiran PHP memproses transkod aksara Cina Kuasai kemahiran PHP memproses transkod aksara Cina Mar 28, 2024 pm 03:47 PM

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang biasa digunakan untuk pembangunan laman web. Semasa pembangunan laman web, kami sering menghadapi keperluan untuk menukar kod aksara Cina, terutamanya apabila berurusan dengan aksara Cina. Menguasai kemahiran PHP dalam memproses transkoding aksara Cina dengan berkesan boleh mengelakkan masalah seperti aksara bercelaru dan meningkatkan kestabilan dan pengalaman pengguna tapak web. Fungsi 1.utf8_encode dan utf8_decode Dalam PHP, anda boleh menggunakan fungsi utf8_encode dan utf8_decode untuk mengekod dan menyahkod aksara Cina.

Pemahaman mendalam tentang prinsip menukar aksara Cina kepada pengekodan UTF-8 dalam PHP Pemahaman mendalam tentang prinsip menukar aksara Cina kepada pengekodan UTF-8 dalam PHP Mar 28, 2024 pm 02:44 PM

Prinsip menukar aksara Cina kepada pengekodan UTF-8 sebenarnya melibatkan konsep pengekodan aksara. Dalam komputer, aksara teks perlu diwakili dan disimpan dalam bentuk nombor, dan skema pengekodan aksara yang berbeza menentukan surat-menyurat antara aksara dan nombor yang berbeza. UTF-8 ialah kaedah pengekodan aksara yang biasa digunakan Ia menyokong aksara di seluruh dunia dan menggunakan kaedah pengekodan panjang boleh ubah, yang boleh mewakili aksara secara berkesan dalam pelbagai bahasa dan amat sesuai untuk set aksara Unicode. Sebagai bahasa skrip sebelah pelayan biasa, PHP juga menyediakan

Penyelesaian kepada masalah input aksara Cina dalam win11 Penyelesaian kepada masalah input aksara Cina dalam win11 Jan 05, 2024 am 08:29 AM

Selepas kami memasang sistem win11, kami mesti memasang kaedah input Cina win11 untuk menaip aksara Cina Jika selepas memasang kaedah input Cina, kami masih tidak boleh menaip aksara Cina, maka perkhidmatan yang berkaitan mungkin dilumpuhkan sahaja ialah Bangun dan lihat. Perkara yang perlu dilakukan jika win11 tidak dapat menaip aksara Cina: 1. Pertama, kita mesti memastikan bahawa kita telah memuat turun dan memasang kaedah input Cina atau perisian kaedah input pihak ketiga. 2. Jika anda tidak tahu cara menambah kaedah input, anda boleh menyemak tutorial di tapak ini. 3. Jika anda masih tidak boleh menaip aksara Cina selepas menambah kaedah input, anda perlu mendayakan perkhidmatan berkaitan. 4. Pertama, klik kanan menu mula dan cari "Pengurusan Komputer" 5. Kemudian masukkan "Penjadual Tugas" - "Penjadual Tugas"

See all articles