通过自动加载完成 需要图片上传类的时候,加载图片上传类;需要验证码类的时候,加载验证码类;需要smarty的时候,加载smarty (注意:功能类 和 smarty,数据库连接类不再同一个目录)

图片上传


<?php
class image {


/**
*完成图片的上传
*
*@param array $file 待上传的文件信息的数组,用于5个元素的那个数组
*@return mixed 如果执行成功,返回上传了的文件名,否则返回false
*/
public function upload($file) {


if($file['error'] == 0) {
$allow_types = array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif');
if(in_array($file['type'], $allow_types)) {
$maxsize = 2000000;
if($file['size'] <= $maxsize) {
//上传
//需要将文件重命名,1,防止不规则的字符出现在文件名中,2,防止重名
//采用时间戳加随机数的形式
//后缀名如何获得?在原始文件名中获得后缀名
//在文件名中最后一个点截取到最后就是扩展名
//strrchr(在哪个字符串中查,查的字符串);
$new_filename = time() . mt_rand(10000, 99999) . strrchr($file['name'], '.');


//移动
//此函数返回移动成功还是失败
if(move_uploaded_file($file['tmp_name'],'images/'. $new_filename)) {
return $new_filename;
}
}
}
}


//只有一种情况返回文件名,其他全部返回false
return false;
}
}
?>


验证码


<?php
class ckode{
public function ckode(){
$im = imagecreatetruecolor(80,23);//创建画布
$bgcolor = imagecolorallocate($im,220,230,230);//调制背景色
$bordercolor = imagecolorallocate($im,0,0,255);//调制边框的颜色
$tcolor = imagecolorallocate($im,255,0,0);


$green = imagecolorallocate($im,225,160,211);


imagefill($im,10,10,$bgcolor);//填充背景色
imagerectangle($im,1,1,79,22,$bordercolor);//绘制边框
for($i=0;$i<4;$i++)
{
$num_case = rand(0,2);//产生随机数0-2,根据数值的不同决定产生的是数字|小写|大写
switch($num_case)
{
case 0:$num = rand(48,57);break;
case 1:$num = rand(65,90);break;
default:$num = rand(97,122);




}
$text[$i]=sprintf("%c",$num);//将随机产生的ASCII码转换为相应的字符
imagettftext($im,rand(10,20),rand(0,30),15*$i+5,20,$tcolor,"simhei.ttf",$text[$i]);//显示字符
}
for($i=0;$i<100;$i++)
{
imagesetpixel($im,rand(1,79),rand(1,22),$green);
}


session_start();
$_SESSION["ckcode"]=implode($text);




header("Content-type:image/png");//设置输出类型
imagepng($im);//输出图像
imagedestroy($im);//销毁图像,释放内存
}}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值