当前位置:  编程技术>php
本页文章导读:
    ▪php验证码的三个实例代码分享      验证码-代码1: <?php //checkNum.php session_start(); function random($len) { $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; mt_srand();//配置乱数种子 $strs=""; for($i=0;$i <$len;$i++){ $strs.=$srcstr[mt_rand(0,35)]; } .........
    ▪php 文件缓存数据类的代码分享      说到php文件缓存,回顾之前介绍的文章,找到了这么几篇: php 缓存类 调用示例  PHP 数据缓存的实例代码  php 页面缓存类,大家可以参考下。 有了以上对于php 文件缓存的基础,下面开始.........
    ▪php操作access数据库的类分享      代码如下:   <?php /* FileName:cls_access.php Summary: Access数据库操作类 范例: $databasepath='D:/wwwroot/cef/www/class/testdb.mdb'; //或者$databasepath='testdb.mdb'; $dbusername=''; $dbpassword=''; require_once('cls_.........

[1]php验证码的三个实例代码分享
    来源: 互联网  发布时间: 2013-12-24

验证码-代码1:

<?php
//checkNum.php
session_start();
function random($len)
{
$srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
mt_srand();//配置乱数种子
$strs="";
for($i=0;$i <$len;$i++){
$strs.=$srcstr[mt_rand(0,35)];
}

return strtoupper($strs);
}
$str=random(4); //随机生成的字符串" title="字符串" >字符串
$width = 50; //验证码图片的宽度
$height = 25; //验证码图片的高度

@header("Content-Type:image/png");
$_SESSION["code"] = $str;
//echo $str;
$im=imagecreate($width,$height);
//背景色
$back=imagecolorallocate($im,0xFF,0xFF,0xFF);
//模糊点颜色
$pix=imagecolorallocate($im,187,230,247);
//字体色
$font=imagecolorallocate($im,41,163,238);
//绘模糊作用的点
mt_srand();
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;

session_destroy();
?>

验证码--代码2:

<?php
session_start();
$authnum=random(6);//验证码字符.
$_SESSION['yan']=$authnum;
//生成验证码图片
Header("Content-type: image/PNG");
$im = imagecreate(55,18); //imagecreate() 新建图像,大小为 x_size 和 y_size 的空白图像。
$red = ImageColorAllocate($im, 153,51,0); //设置背景颜色
$white = ImageColorAllocate($im, 255,204,0);//设置文字颜色
$gray = ImageColorAllocate($im, 102,102,0); //设置杂点颜色

imagefill($im,55,18,$red);

for ($i = 0; $i < strlen($authnum); $i++)
{
// $i%2 == 0?$top = -1:$top = 3;

imagestring($im, 6, 13*$i+4, 1, substr($authnum,$i,1), $white);
//int imagestring ( resource image, int font, int x, int y, string s, int col)
//imagestring() 用 col 颜色将字符串" title="字符串" >字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。如果 font 是 1,2,3,4 或 
5,则使用内置字体。
}
for($i=0;$i<100;$i++) //加入干扰象素
{
imagesetpixel($im, rand()%55 , rand()%18 , $gray);
//int imagesetpixel ( resource image, int x, int y, int color)
//imagesetpixel() 在 image 图像中用 color 颜色在 x, y 坐标(图像左上角为 0, 0)上画一个点。
}
ImagePNG($im); //以 PNG 格式将图像输出到浏览器或文件
ImageDestroy($im);//销毁一图像

//产生随机数函数
function random($length) {
$hash = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';

$max = strlen($chars) - 1;

for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
?>

验证码--代码3:

<?php
session_start();

//生成验证码图片

Header("Content-type: image/PNG");

srand((double)microtime()*1000000);

$im = imagecreate(62,20);

$black = ImageColorAllocate($im, 0,0,0);

$white = ImageColorAllocate($im, 255,255,255);

$gray = ImageColorAllocate($im, 200,200,200);

imagefill($im,68,30,$gray);

while(($authnum=rand()%100000)<10000);

//将四位整数验证码绘入图片

imagestring($im, 5, 10, 3, $authnum, $white);

for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION['SESSION_VALIDATE_CODE'] = $authnum.'';
?>
您可能感兴趣的文章:
php验证码简单函数代码(附效果图)
分享一个php 验证码类及调用示例
一个php验证码的封装类
php自定义大小验证码的实例代码
php生成扭曲及旋转的验证码图片的实例代码
php仿QQ验证码的实现代码
php验证码函数使用的例子
php5验证码类(简易实用型)
php验证码(GD库生成验证码)的例子
php点击验证码实时刷新的实现代码
php图片验证码的例子
php彩色验证码的简单例子
php验证码刷新与局部刷新的实现方法
php GD库生成验证码的实例
php生成验证码的例子
php随机验证码 php生成随机验证码(图文)
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码

    
[2]php 文件缓存数据类的代码分享
    来源: 互联网  发布时间: 2013-12-24

说到php文件缓存,回顾之前介绍的文章,找到了这么几篇:
php 缓存类 调用示例  PHP 数据缓存的实例代码  php 页面缓存类,大家可以参考下。

有了以上对于php 文件缓存的基础,下面开始今天的内容。

代码如下:

<?php
/** 
 * 文件缓存类 
 * 
 * @author 志凡  
 * @package cache 
 * @version v0.1
 * edit by www.
 */  
class FileCache {  
    /** 
     * @var string $cachePath 缓存文件目录 
     * @access public 
     */  
    public $cachePath = './';  
      
    /** 
     * 构造函数 
     * @param string $path 缓存文件目录 
     */  
    function __construct($path = NULL) {  
        if ($path) {  
            $this->cachePath = $path;  
        }  
    }  
      
    /** 
     * 析构函数 
     */  
    function __destruct() {  
        //nothing  
    }  
      
    /** 
     * 在cache中设置键为$key的项的值,如果该项不存在,则新建一个项 
     * @param string $key 键值 
     * @param mix $var 值 
     * @param int $expire 到期秒数 
     * @param int $flag 标志位 
     * @return bool 如果成功则返回 TRUE,失败则返回 FALSE。 
     * @access public 
     */  
    public function set($key, $var, $expire = 36000, $flag = 0) {  
        $value = serialize($var);  
        $timeout = time() + $expire;  
        $result = safe_file_put_contents($this->cachePath . urlencode($key) .'.cache',  
                $timeout . '<<%-==-%>>' . $value);  
        return $result;  
    }  
      
    /** 
     * 在cache中获取键为$key的项的值 
     * @param string $key 键值 
     * @return string 如果该项不存在,则返回false 
     * @access public 
     */  
    public function get($key) {  
        $file = $this->cachePath . urlencode($key) .'.cache';  
        if (file_exists($file)) {  
            $content = safe_file_get_contents($file);  
            if ($content===false) {  
                return false;  
            }  
            $tmp = explode('<<%-==-%>>', $content);  
            $timeout = $tmp[0];  
            $value = $tmp[1];  
            if (time()>$timeout) {  
                $result = false;  
            } else {  
                $result = unserialize($value);  
            }  
        } else {  
            $result = false;  
        }  
        return $result;  
    }  
      
    /** 
     * 清空cache中所有项 
     * @return 如果成功则返回 TRUE,失败则返回 FALSE。 
     * @access public 
     */  
    public function flush() {  
        $fileList = FileSystem::ls($this->cachePath,array(),'asc',true);  
        return FileSystem::rm($fileList);  
    }  
      
    /** 
     * 删除在cache中键为$key的项的值 
     * @param string $key 键值 
     * @return 如果成功则返回 TRUE,失败则返回 FALSE。 
     * @access public 
     */  
    public function delete($key) {  
        return FileSystem::rm($this->cachePath . $key .'.cache');  
    }  
}  
  
if (!function_exists('safe_file_put_contents')) {  
    function safe_file_put_contents($filename, $content)  
    {  
        $fp = fopen($filename, 'wb');  
        if ($fp) {  
            flock($fp, LOCK_EX);  
            fwrite($fp, $content);  
            flock($fp, LOCK_UN);  
            fclose($fp);  
            return true;  
        } else {  
            return false;  
        }  
    }  
}  
  
if (!function_exists('safe_file_get_contents')) {  
    function safe_file_get_contents($filename)  
    {  
        $fp = fopen($filename, 'rb');  
        if ($fp) {  
            flock($fp, LOCK_SH);  
            clearstatcache();  
            $filesize = filesize($filename);  
            if ($filesize > 0) {  
                $data = fread($fp, $filesize);  
            }  
            flock($fp, LOCK_UN);  
            fclose($fp);  
            return $data;  
        } else {  
            return false;  
        }  
    }  
}  
?>

调用示例:

<?php
//php缓存类的例子
$cache = new FileCache();  
$data = $cache->get('yourkey');//yourkey是你为每一个要缓存的数据定义的缓存名字  
if ($data===false) {  
    $data = '从数据库取出的数据或很复杂很耗时的弄出来的数据';  
    $cache->set('yourkey',$data,3600);//缓存3600秒  
}  
  
// use your $data  
?>

    
[3]php操作access数据库的类分享
    来源: 互联网  发布时间: 2013-12-24

代码如下:
 

<?php
/*
FileName:cls_access.php
Summary: Access数据库操作类

范例:
$databasepath='D:/wwwroot/cef/www/class/testdb.mdb';
//或者$databasepath='testdb.mdb';
$dbusername='';
$dbpassword='';
require_once('cls_access.php');
$access=new Access($databasepath,$dbusername,$dbpassword);
print_r($access->getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));
echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");
*/

class Access{
    var $databasepath,$constr,$dbusername,$dbpassword,$link;
    function Access($databasepath,$dbusername,$dbpassword){
        $this->databasepath=$databasepath;
        $this->username=$dbusername;
        $this->password=$dbpassword;
        $this->connect();
    }
function connect(){
    $this->constr='DRIVER={Microsoft Access Driver (*.mdb)};DBQ='.realpath($this->databasepath).';';
    $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
    if(!$this->link) echo "数据库连接失败!";
    return $this->link;
}

function query($sql){     //直接运行SQL,可用于更新、删除数据
    return @odbc_exec($this->link,$sql);
}

function fetch_array($query){     //取得当前指针处记录
   return odbc_fetch_array($query);
}

function fetch_row($query){    //基本同fetch_array(),但只有数字索引
   return odbc_fetch_row($query);
}

function num_rows($sql){    //返回SQL查询影响到的行的数目
    return odbc_num_rows($this->query($sql));
}

function close(){    //关闭数据库连接函数
   odbc_close($this->link);
}

function getlist($sql){    //取得记录列表
    $query=$this->query($sql);
    $recordlist=array();
    while ($row=$this->fetch_array($query)){
        $recordlist[]=$row;
    }
    return $recordlist;
}
}
?>

以上类中使用了ODBC,而不是ODBC数据源。
直接新建一个*.mdb文件即可使用。

附,部分常用COM方式操作Access代码:

<?php
$db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb';
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
?>

JS调用页js.php
 

<?php
include_once('conn.php');
$rs = $conn->Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");
$idgb=1;
while(!$rs->EOF){
    $gbinf[$idgb]['id'] = $rs->Fields['id']->Value;
    $gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;
    $gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;
    $gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;
    $gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;
    $gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;
    $gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;
    $rs->MoveNext();
    $idgb++;
}
$rs->Close();
$rs = null;
$uhtml='';
$uhtml.='<table border="0" align="center"><tr>';

for ($i=1; $i<4; $i++){
    $uhtml.='<td width="240" align="center">';
    if ($gbinf[$i]['usfile']){
        $uhtml.='<a href="/index.html" target="_blank" title="'.$gbinf[$i]['usname'].'"><img src="/'.$gbinf[$i]['thumb'].'" /></a><br 
 />'.$gbinf[$i]['usprovince'].'&nbsp;'.$gbinf[$i]['usname'];
        if ($gbinf[$i]['usage'] != 0){
            $uhtml.='&nbsp;('.$gbinf[$i]['usage'].'岁)<br />';
        }
       $uhtml.='<div ><a href="/index.html" target="_blank" 
       title="'.$gbinf[$i]['usmessage'].'" >'.$gbinf[$i]['usmessage'].'</a></div>';
    }
    $uhtml.='</td>';
}
$uhtml.='</tr></table>';
echo "document.write('".$uhtml."')";
?>

另一个例子,以本文件路径确定数据库路径:

<?php
/*
数据库连接配置
*/
$db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb';
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

//print_r($_POST);
if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] &&
 $_POST['weight'] && $_POST['message'])
{
$addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."', 
'".$_POST['tel']."', 
'".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."', 
'".strip_tags($_POST['message'])."')";
//echo '<hr />'.$addsql;
$rsadd = $conn->Execute($addsql);
echo '<script type="text/javascript">alert("报名成功,请等待工作人员与您联系!");</script>';
echo '<p align="center"><h1>恭喜您报名成功,请等待工作人员与您联系!</h1></p>';
echo '<p align="center"><a href="/blog_article/90d.html">返回活动首页</a>&nbsp;&nbsp;<a href="/">返回商城首页</a></p>';
}
?>

您可能感兴趣的文章:
php连接access数据库的三种方法
php ADO组件连接access数据库的例子


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
编程技术其它 iis7站长之家
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3