Heim Backend-Entwicklung PHP-Tutorial 验证码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 移动


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Stremio-Untertitel funktionieren nicht; Fehler beim Laden der Untertitel Stremio-Untertitel funktionieren nicht; Fehler beim Laden der Untertitel Feb 24, 2024 am 09:50 AM

Untertitel funktionieren bei Stremio auf Ihrem Windows-PC nicht? Einige Stremio-Benutzer berichteten, dass in den Videos keine Untertitel angezeigt wurden. Viele Benutzer berichteten, dass ihnen die Fehlermeldung „Fehler beim Laden der Untertitel“ angezeigt wurde. Hier ist die vollständige Fehlermeldung, die bei diesem Fehler angezeigt wird: Beim Laden der Untertitel ist ein Fehler aufgetreten. Untertitel konnten nicht geladen werden: Dies könnte ein Problem mit dem von Ihnen verwendeten Plugin oder Ihrem Netzwerk sein. Wie in der Fehlermeldung angegeben, könnte es Ihre Internetverbindung sein, die den Fehler verursacht. Überprüfen Sie daher bitte Ihre Netzwerkverbindung und stellen Sie sicher, dass Ihr Internet ordnungsgemäß funktioniert. Abgesehen davon könnte es auch andere Gründe für diesen Fehler geben, darunter ein widersprüchliches Untertitel-Add-on, nicht unterstützte Untertitel für bestimmte Videoinhalte und eine veraltete Stremio-App. wie

C++-Programm: Ordnen Sie die Position von Wörtern in alphabetischer Reihenfolge neu C++-Programm: Ordnen Sie die Position von Wörtern in alphabetischer Reihenfolge neu Sep 01, 2023 pm 11:37 PM

Bei diesem Problem wird eine Zeichenfolge als Eingabe angegeben und wir müssen die in der Zeichenfolge vorkommenden Wörter in lexikografischer Reihenfolge sortieren. Dazu weisen wir jedem Wort im String einen Index beginnend bei 1 zu (durch Leerzeichen getrennt) und erhalten die Ausgabe in Form sortierter Indizes. String={"Hello","World"}"Hello"=1 "World"=2 Da die Wörter in der Eingabezeichenfolge in lexikografischer Reihenfolge vorliegen, wird in der Ausgabe „12“ ausgegeben. Schauen wir uns einige Eingabe-/Ergebnisszenarien an – vorausgesetzt, alle Wörter in der Eingabezeichenfolge sind gleich, schauen wir uns die Ergebnisse an – Eingabe:{"hello","hello","hello"}Ergebnis:3 Erhaltenes Ergebnis

So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist Dec 23, 2023 pm 04:09 PM

Golang-Implementierung: Methoden zur Bestimmung, ob ein Zeichen ein Buchstabe ist. In Golang gibt es viele Möglichkeiten, zu bestimmen, ob ein Zeichen ein Buchstabe ist. In diesem Artikel werden einige dieser häufig verwendeten Methoden vorgestellt und spezifische Codebeispiele für jede Methode bereitgestellt. Methode 1: Verwenden Sie die IsLetter-Funktion des Unicode-Pakets. Das Unicode-Paket in Golang stellt eine Funktion namens IsLetter bereit, die bestimmen kann, ob ein Zeichen ein Buchstabe ist. Diese Funktion wird wie folgt verwendet: packagemaini

So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist So ermitteln Sie mithilfe von Golang, ob ein Zeichen ein Buchstabe ist Dec 23, 2023 am 11:57 AM

So verwenden Sie Golang, um festzustellen, ob ein Zeichen ein Buchstabe ist. In Golang kann mithilfe der IsLetter-Funktion im Unicode-Paket ermittelt werden, ob ein Zeichen ein Buchstabe ist. Die Funktion IsLetter prüft, ob das angegebene Zeichen ein Buchstabe ist. Als Nächstes stellen wir detailliert vor, wie Sie mit Golang Code schreiben, um festzustellen, ob es sich bei einem Zeichen um einen Buchstaben handelt. Zuerst müssen Sie eine neue Go-Datei erstellen, in die Sie den Code schreiben. Sie können die Datei „main.go“ nennen. Code

Der interne Code eines chinesischen Zeichens erfordert mehrere Bytes zum Speichern Der interne Code eines chinesischen Zeichens erfordert mehrere Bytes zum Speichern Dec 14, 2020 pm 05:45 PM

Der interne Code eines chinesischen Zeichens benötigt zum Speichern 2 Bytes. Im beliebten chinesischen Zeichensystem in China belegt der interne Code eines chinesischen Zeichens 2 Bytes, da das chinesische Zeichenverarbeitungssystem die Kompatibilität zwischen chinesischen und westlichen Sprachen sicherstellen muss, wenn es sowohl ASCII-Codes als auch nationale Standardcodes für chinesische Zeichen gibt System wird es zu Mehrdeutigkeiten kommen. Zu diesem Zweck sollte der interne Code für chinesische Zeichen entsprechend verarbeitet und in den nationalen Standardcode umgewandelt werden.

Beherrschen Sie die Fähigkeiten der PHP-Verarbeitung der Transkodierung chinesischer Zeichen Beherrschen Sie die Fähigkeiten der PHP-Verarbeitung der Transkodierung chinesischer Zeichen Mar 28, 2024 pm 03:47 PM

PHP ist eine weit verbreitete serverseitige Skriptsprache, die häufig für die Website-Entwicklung verwendet wird. Während der Website-Entwicklung stoßen wir häufig auf die Notwendigkeit, chinesische Schriftzeichen zu transkodieren, insbesondere wenn es um chinesische Schriftzeichen geht. Durch die Beherrschung der PHP-Fähigkeiten bei der Verarbeitung der Transkodierung chinesischer Zeichen können Probleme wie verstümmelte Zeichen effektiv vermieden und die Stabilität und Benutzererfahrung der Website verbessert werden. 1. Funktionen utf8_encode und utf8_decode In PHP können Sie die Funktionen utf8_encode und utf8_decode verwenden, um chinesische Zeichen zu kodieren und zu dekodieren.

Vertiefendes Verständnis des Prinzips der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung in PHP Vertiefendes Verständnis des Prinzips der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung in PHP Mar 28, 2024 pm 02:44 PM

Das Prinzip der Konvertierung chinesischer Zeichen in die UTF-8-Kodierung beinhaltet tatsächlich das Konzept der Zeichenkodierung. In Computern müssen Textzeichen in Form von Zahlen dargestellt und gespeichert werden, und unterschiedliche Zeichenkodierungsschemata legen die Entsprechung zwischen verschiedenen Zeichen und Zahlen fest. UTF-8 ist eine häufig verwendete Zeichenkodierungsmethode. Sie unterstützt Zeichen weltweit und verwendet eine Kodierungsmethode mit variabler Länge, die Zeichen in verschiedenen Sprachen effektiv darstellen kann und besonders für den Unicode-Zeichensatz geeignet ist. Als gängige serverseitige Skriptsprache bietet auch PHP

Lösung für das Problem bei der Eingabe chinesischer Zeichen in Win11 Lösung für das Problem bei der Eingabe chinesischer Zeichen in Win11 Jan 05, 2024 am 08:29 AM

Nachdem wir das Win11-System installiert haben, müssen wir zuerst die chinesische Eingabemethode für Win11 installieren. Wenn wir nach der Installation der chinesischen Eingabemethode immer noch keine chinesischen Zeichen eingeben können, werden die entsprechenden Dienste möglicherweise neu gestartet ist Steh auf und schau es dir an. Was tun, wenn Win11 keine chinesischen Zeichen eingeben kann: 1. Zunächst müssen wir sicherstellen, dass wir die chinesische Eingabemethode oder die Eingabemethodensoftware eines Drittanbieters heruntergeladen und installiert haben. 2. Wenn Sie nicht wissen, wie Sie eine Eingabemethode hinzufügen, können Sie sich die Tutorials auf dieser Website ansehen. 3. Wenn Sie nach dem Hinzufügen der Eingabemethode immer noch keine chinesischen Zeichen eingeben können, müssen Sie entsprechende Dienste aktivieren. 4. Klicken Sie zunächst mit der rechten Maustaste auf das Startmenü und suchen Sie nach „Computerverwaltung“. 5. Geben Sie dann „Aufgabenplaner“ ein – „Aufgabenplaner“.

See all articles