php生成动态图片验证码的一段代码,有需要的朋友可以看看。
一个简单的php图形验证码程序:(产生一个随机数,取得随机字符串,然后将该字符串设置进session--方便验证;PHP设置成 @header("Content-Type:image/png");生成对应图片。)另外,记得把php中extension=php_gd2.dll 打开。
session_start();
function random($len)
{
$srCStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$strs="";
for($i=0;$i<$len;$i++)
{
$strs.=$srCStr[mt_rand(0,35)];
}
return $strs;
}
$str=random(4); //随机生成的字符串
$width = 50; //验证码图片的宽度
$height = 25; //验证码图片的高度
@header("Content-Type:image/png");
$_SESSION["code"] = $str;
$im = imagecreate($width,$height);
//背景色
$back = imagecolorallocate($im,0xFF,0xFF,0xFF);
//模糊点颜色
$pix = imagecolorallocate($im,187,230,247);
//字体色
$font = imagecolorallocate($im,41,163,238);
//绘模糊作用的点
for($i=0;$i<1000;$i++)
{
imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix);
}
imagestring($im, 5, 7, 5,$str, $font);
imagerectangle($im,0,0,$width-1,$height-1,$font);
imagepng($im);
imagedestroy($im);
$_SESSION["code"] = $str;
?>
小结:自 PHP 4.2.0 起,不再需要用 srand()或 mt_srand() 函数给随机数发生器播种,现已自动完成。
您可能感兴趣的文章:
php生成N个不重复的随机数
php随机生成4位数字验证码
php 随机显示图片的函数
php 随机显示图片的例子
php生成随机密码的范例
生成随机用户名与密码的php函数
用于批量生成随机用户名的php程序
用php随机生成福彩双色球号码的二种方法
用PHP生成随机数的函数
使用php生成一个随机字符串的代码
php生成随机数的例子
php生成随机字符串的函数
php随机密码生成函数
php生成随机密码的函数
PHP生成随机字符串的函数
php生成随机密码的函数
php生成随机密码的几种方法
本文为大家介绍php连接不同数据库的几种方法,供大家学习参考。
1.Com链接,ADODB.Connection
$conn = new Com("ADODB.Connection"); //实例化一个Connection对象
$connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jnold;";
$conn->Open($connstr);
$rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象
$rs->Open('select * from News where bigclassid = 59 And LeadPostil is null', $conn, 1, 1);
$count = $rs->RecordCount;
echo "共有{$count}条纪录<br />";
for($i = 0; $i < $count ; $i++){
$arr_result[$i]['Title'] = addslashes()($rs->Fields('Title')->Value);//标题
$arr_result[$i]['Color'] = addslashes($rs->Fields('titlecolor')->Value?$rs->Fields('titlecolor')->Value:'');//标题颜色
$arr_result[$i]['WenHao'] = addslashes($rs->Fields('OtherText')->Value);//文号
}
2.ODBC连接mssql
$dbhost = '';
$dbuser = ''; //你的mssql用户名
$dbpass = ''; //你的mssql密码
$dbname = ''; //你的mssql库名
$connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
$sql="select * from content";
$exec=odbc_exec($connect,$sql);
while($row = (odbc_fetch_array($exec)))
{
$row['id'] //獲取字段值
...
}
3.PHP内置函数连接
打开装有php5和apache的服务器上的php.ini文件 去掉;extension=php_mssql.dll前面的分号";"
重启apache服务器即可
其次:将安装有sqlserver2000的服务器数据库打上sp3补丁,因为打上sp3补丁,可以开启1433端口.
最后,web服务器上安装sqlserver2000客户端工具
$dbh=mssql_connect("192.168.12.124","sa","");
mssql_select_db("mydb", $dbh);
?>
这个方法经常会连接不上,好像是一个dll文件版本的问题
4.连接access数据的方法
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
$rs = $conn->Execute('SELECT * FROM contents order by id desc');
while(!$rs->EOF)
{
echo $rs->Fields['name']->Value;
$rs->MoveNext();
}
/*释放资源*/
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
5.连接MySQL方法:
$database_connection=null;
$hostname="localhost";
$database="5aart";
$username="root";
$password="1234";
global $database_connection;
$database_connection=mysql_connect()($hostname,$username,$password) or die(mysql_error());
mysql_query()("set names 'gbk'");
mysql_select_db($database,$database_connection) or die(mysql_error());
6.连接SQLserver的方法
$dbuser = 'sa'; //你的mssql用户名
$dbpass = '1234'; //你的mssql密码
$dbname = '0772fang'; //你的mssql库名
$connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
$sql="update news_pk set ffnums=ffnums+1 where newsID='$ID'";
$exec=odbc_exec($connect,$sql);
php抽象类和接口的概念与区别,供大家学习参考。
不能从抽象类创建对象,它的意义在于被扩展;
抽象类通常具有抽象方法,方法中没有大括号;
抽象方法不必实现具体的功能,由子类来完成;
在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义;
抽象类的方法可以有参数,也可以为空;
如果抽象方法有参数,那么子类的实现也必须有相同的参数个数。
//抽象类的定义:
abstract class AAA{ //定义一个抽象类
abstract function bb();
......
}
class cc extends AAA{
//实现抽象类的方法
function bb(){
echo '111111111111';
}
}
//使用方法
$aa=new cc;
$aa->kx();
<?php
//1.定义一些方法,子类必须完全实现这个抽象中所有的方法
//2.不能从抽象类创建对象,它的意义在于被扩展
//3.抽象类通常具有抽象方法,方法中没有大括号
//4.抽象方法不必实现具体的功能,由子类来完成
//5.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义
//6.抽象类的方法可以有参数,也可以为空
//7.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数
//////////////////////////////接口类的定义:
interface Shop{
public function buy($gid);
public function sell($gid);
abstract function view($gid);
}
//如果要使用接口,必须定义接口类中的所以方法少一个都不可以(abstract除外)。
//这样如果在一个大项目中不管别人怎么去做下面的方法,但是他必须实现本接口中的所有方法才可以!
//例:实现上面的接口的一种方法
class BaseShop implements Shop{
public function buy($gid){
echo '你购买了ID为 :' . $gid . '的商品';
}
public function sell($gid){
echo '你购卖ID为 :' . $gid . '的商品';
}
public function view($gid){
echo '你浏览了ID为 :' . $gid . '的商品';
}
}
//接口的多重继承示例:
<?php
interface staff_i1{ //接口1
function setID();
function getID();
}
interface staff_i2{ //接口2
function setName();
function getName();
}
class staff implements staff_i1,staff_i2{
private $id;
private $name;
function setID($id){
$this->id = $id;
}
function getID(){
return $this->id;
}
function setName($name){
$this->name = $name;
}
function getName(){
return $this->name;
}
function otherFunc(){ //这是一个接口中不存在的方法
echo “Test”;
}
}
?>