php文件名和类名相同时include不起作用?
文件名:原来为ValidationCode.php
修改为validate.php后可以正常显示验证码,
浏览器中请求code.php文件中进行显示验证码
<code><?php class ValidationCode{ private $width; private $height; private $num_chars; private $image; const BORDER = 1; function __construct($width=60,$height=20,$num_chars=4){ $this->width = $width; $this->height = $height; $this->num_chars = $num_chars; } function showImage(){ $this->createImage(); $this->drawBorder(); $this->drawChars(); $this->outPic(); } //create canvas function createImage(){ $this->image = imagecreate($this->width,$this->height); //$rand_color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255)); $back = imagecolorallocate($this->image,0,0,0); $border = imagecolorallocate($this->image,255,255,255); imagefill($this->image,0,0,$back); //imagefilledrectangle($thid->image,self::BORDER,self::BORDER,$this->width-self::BORDER,$this->height-self::BORDER,$border); //imageline($this->image,1,1,100,100,$rand_color); //$this->outPic(); } //draw border private function drawBorder(){ $outer_bg_color = imagecolorallocate($this->image,0,0,0); $inner_bg_color = imagecolorallocate($this->image,255,255,255); imagefill($this->image,0,0,$outer_bg_color); imagefilledrectangle($this->image,self::BORDER,self::BORDER,$this->width-self::BORDER-1,$this->height-self::BORDER-1,$inner_bg_color); } //create char content function createChar(){ $rand_ascii=""; $rand_type = rand(0,2); switch($rand_type){ case 0: $rand_ascii = rand(48,57); break; case 1: $rand_ascii = rand(65,90); break; case 2: $rand_ascii = rand(97,122); break; } $rand_str = sprintf("%c",$rand_ascii); return $rand_str; } //draw char private function drawChars(){ $x = $this->width/$this->num_chars+1; $y = $this->height/2; for($index = 0; $indexnum_chars; $index++){ $rand_color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255)); imagechar($this->image,3,$x*$index+2,$y-$y/2,$this->createChar(),$rand_color); } } //out pic private function outPic(){ header("content-type:image/png"); imagepng($this->image); } function __destruct(){ imagedestroy($this->image); } } /*$code = new ValidationCode(); //echo $code->createChar(); $code->showImage();*/ ?></code>
code.php
<code><?php require_once("validate.php"); $code = new ValidationCode(); //echo $code->createChar(); $code->showImage(); ?></code>
这个问题已被关闭,原因:已经自己找到问题原因
回复内容:
文件名:原来为ValidationCode.php
修改为validate.php后可以正常显示验证码,
浏览器中请求code.php文件中进行显示验证码
<code><?php class ValidationCode{ private $width; private $height; private $num_chars; private $image; const BORDER = 1; function __construct($width=60,$height=20,$num_chars=4){ $this->width = $width; $this->height = $height; $this->num_chars = $num_chars; } function showImage(){ $this->createImage(); $this->drawBorder(); $this->drawChars(); $this->outPic(); } //create canvas function createImage(){ $this->image = imagecreate($this->width,$this->height); //$rand_color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255)); $back = imagecolorallocate($this->image,0,0,0); $border = imagecolorallocate($this->image,255,255,255); imagefill($this->image,0,0,$back); //imagefilledrectangle($thid->image,self::BORDER,self::BORDER,$this->width-self::BORDER,$this->height-self::BORDER,$border); //imageline($this->image,1,1,100,100,$rand_color); //$this->outPic(); } //draw border private function drawBorder(){ $outer_bg_color = imagecolorallocate($this->image,0,0,0); $inner_bg_color = imagecolorallocate($this->image,255,255,255); imagefill($this->image,0,0,$outer_bg_color); imagefilledrectangle($this->image,self::BORDER,self::BORDER,$this->width-self::BORDER-1,$this->height-self::BORDER-1,$inner_bg_color); } //create char content function createChar(){ $rand_ascii=""; $rand_type = rand(0,2); switch($rand_type){ case 0: $rand_ascii = rand(48,57); break; case 1: $rand_ascii = rand(65,90); break; case 2: $rand_ascii = rand(97,122); break; } $rand_str = sprintf("%c",$rand_ascii); return $rand_str; } //draw char private function drawChars(){ $x = $this->width/$this->num_chars+1; $y = $this->height/2; for($index = 0; $indexnum_chars; $index++){ $rand_color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255)); imagechar($this->image,3,$x*$index+2,$y-$y/2,$this->createChar(),$rand_color); } } //out pic private function outPic(){ header("content-type:image/png"); imagepng($this->image); } function __destruct(){ imagedestroy($this->image); } } /*$code = new ValidationCode(); //echo $code->createChar(); $code->showImage();*/ ?></code>
code.php
<code><?php require_once("validate.php"); $code = new ValidationCode(); //echo $code->createChar(); $code->showImage(); ?></code>
测试:入口代码
<code><?php require_once("ValidationCode.php");//include_once("ValidationCode.php"); $code = new ValidationCode(); //echo $code->createChar(); $code->showImage();</code>
文件名:
测试结果:
结论:include的时候文件名跟类名没有关系。结果是可以的。我不知道你的为什么不可以。但是我测了是可以的。
真的假的啊!文件名和类名一样引用不起作用,这么神奇!有没有出什么错误提示

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
