为什么要文件名和类名一样php_php文件名和类名相同时include不起作用?

文件名:原来为ValidationCode.php

修改为validate.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.php

require_once("validate.php");

$code = new ValidationCode();

//echo $code->createChar();

$code->showImage();

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值