我的php验证码类
<?php
/*
* Created on 2010-3-11
* author:zhangfei
*我的验证码类
*/
session_start();
class Check_Class{
public $h_img ;
public $c_back ;
public $c_front ;
//构造函数
function Check_Class(){
$h_img = imagecreate(100,30);
$c_back = imagecolorallocate($h_img,0,0,0);
$c_front = imagecolorallocate($h_img,255,255,255);
$_SESSION[randstr]=$randm_string = $this->random(5);//用session保存起来用以后面判断
$this->getLine($h_img);
$this->getPoint($h_img);
$this->paintString($h_img,$randm_string,$c_front);
//显示图片
header("Content-type: image/jpeg");
imagejpeg($h_img);
imagedestroy($h_img);
}
//产生随机字符串,包括数字和大小写字母
function random($length)
{
$hash = "";
$chars = "CEFGHIJKLMNOPQRSTUVWXYZ0123456789cefghijklmnopqrstuvwxyz";
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++)
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
//画干扰线的函数
function getLine($h){
for($j=0;$j<5;$j++){
//定义线条
$c_line = imagecolorallocate($h,rand(0,255),rand(0,255),rand(0,255));
//在图片上划线
imageline($h,rand(0,100),rand(0,30),rand(0,100),rand(0,30),$c_line);
}
}
//画噪点
function getPoint($h){
for($ii=0;$ii<400;$ii++){
$c_point = imagecolorallocate($h,rand(0,255),rand(0,255),rand(0,255));//定义噪点颜色
imagesetpixel($h,rand()%100,rand()%30,$c_point);
}
}
//画字符串
function paintString($h,$rd_str,$c_f){
imagestring($h,rand(4,6),rand(1,50),rand(1,15),$rd_str,$c_f);
}
}
$chek = new Check_Class();
?>
相关文档:
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式: ......
“守望轩”博客右侧边栏原来有个“杂感”的栏目,用来记录短的、不能大篇幅成文的短句,或者自己比较喜欢的短句和言论。
这个栏目最开始调用微博饭否的API来做的,因为众所周知的缘故,饭否无法使用了,后来采用腾讯的滔滔API来实现.2010年1月26日滔滔业务将会开始和QQ空间心情整合,只能考虑放弃。 ......
http://fw.qq.com/ipaddress返回类似:var IPData = new Array("61.51.71.183","","北京市","");
<?php
function get_ip_place(){
$ip=file_get_contents(http://fw.qq.com/ipaddress);
$ip=str_replace('"',' ',$ip);
$ip2=explode("(",$ip);
$a=substr($ip2[1],0,-2);
$b=explode(",",$a);
return&n ......
一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread S ......
什么是 IDE?
简而言之,IDE 为编码工作提供了一站式服务。IDE 包括一个编辑器,在此编辑器内可以编辑代码、调试代码、在浏览器(通常是嵌入式的)中查看代码和签入和签出源码控制。为了支持这些功能,IDE 拥有一套在基本编辑器(比如记事本或者 Vim)中所找不到的特性。当然,您可以通过扩展编辑器来实现这些功能,但是 ID ......