php验证码图片里的点点与线线,和数据库部分封装

<?php
//定义常量
define("HOST","127.0.0.1");
define("USER","root");
define("PWD","");
$conn = ""; function get_conn(){ global $conn; $conn = mysql_connect(HOST,USER,PWD) or die(mysql_error()); mysql_select_db("bbs",$conn); mysql_query("set names 'utf8'"); } function query($sql){ $result = mysql_query($sql); //声明一个空的数组 $r = array(); while($row=mysql_fetch_array($result)){ //每次循环,就把$row传给$r,这样,$r就成了一个自动编号的2维数组 $r[] = $row; } return $r; } //插入方法 function insert($sql){ $result = mysql_query($sql); return $result; } function insert2($table,$column,$value){ $sql = "insert into $table($column) values($value)"; $result = mysql_query($sql); return $result; } function close(){ global $conn; mysql_close($conn); } ?>

  

 

<?php
function test1($str1="",$str2=array()){
    //把数组分割成字符串 implode
    //下个这个方法的意思是:$str2应该是个数组
    //然后把这个数组按照逗号来分割组成一个新的字符串
    $s1 = implode(",",$str2);
//    echo $s1;

    //把字符串分割成数组 explode
    //这个函数的意思就是:首先$str1是一个字符串,这个字符串是按照一个规格组装出来的
    //这个规格就是必须符合前面第一个参数的样式
    $s2 = explode("-",$str1);

    print_r($s2);
}

//函数的默认值
function test2($db="bbs"){
    $conn = mysql_connect(HOST,USER,PWD) or die(mysql_error());
    mysql_select_db($db,$conn);
    mysql_query("set names 'utf8'");
}

function test3($str="hello world"){
    echo $str;
}

function formatDateTime($date){
    $arr = explode("-",$date);
    $str = vsprintf("%04d-%02d-%02d",$arr);
    return $str;
}


//获取函数全部参数
//获取传过来的所有参数
function test4(){
    //获取传过来参数的数量
    $num = func_num_args();
    //获取所有传入的参数,返回的是一个数组
    $arr = func_get_args();

    var_dump($arr);
}

function mysql_ping(){
    //获取传入的所有参数的数组
    $arr = func_get_args();
    //获取第一个参数,在我们这个列子里面,第一个参数其实就是sql语句
    $sql = $arr[0];
    //传入的sql语句,其实开始是用?替代的变量的位置
    //这里需要将变量转化为可以替换格式化字符串的'%s'这样的符号
    $sql = str_replace("?","'%s'",$sql);

    //array_shift,是将数组最开始的元素移出。返回移出的值,然后数组剩下其余的部分
    $values = array_shift($arr);

    $sql = vsprintf($sql,$arr);

    echo $sql;
}




?>

  验证码图片里的点点与线线

imagefill($img,0,0,$background);
    //字体颜色
    $color = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
    $color1 = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));

    //生成干扰线
    $lineX1 = rand(1,200);
    $lineX2 = rand(30,50);
    for($i = 0;$i<3;$i++){
        $lineY1 = rand(3,300);
        $lineY2 = rand(13,50);
        imageline($img,$lineX1,$lineX2,$lineY1,$lineY2,$color1);
        $lineX1 += rand(30,95);
        $lineX2 += rand(100,200);
    }
    //在图片上生成点点
    for($i=0;$i<50;$i++){
        $color3 = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($img,rand(2,300),rand(3,50),$color3);
    }
    //图片上生成文字
    //使图片上的文字层次不齐
    $postX = rand(6,45);
    for($i=0;$i<4;$i++){
        $postY = rand(2,15);
        imagestring($img,rand(2,6),$postX,$postY,substr($rand,$i,1),$color);
        $postX += rand(8,20);
    }

  

 

posted on 2014-05-14 22:47  幺蛾子多  阅读(176)  评论(0编辑  收藏  举报

导航