zoukankan      html  css  js  c++  java
  • 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);
        }
    

      

  • 相关阅读:
    typeid抛出异常的解释
    [原创]公平数的解法
    [原创]我的北大ACM POJ 1012解答
    [原创]我的PKU ACM POJ1029题解
    asp.net 单用户登录经典解决方案
    [转]SQL事务回滚的问题及其解决的方法
    获取json数据
    js中Date对象的用法
    解决刷新后回到顶部的问题
    C#获取客户端及服务器端主机信息
  • 原文地址:https://www.cnblogs.com/5huihui/p/3728870.html
Copyright © 2011-2022 走看看