首页 > 代码库 > php验证码图片里的点点与线线,和数据库部分封装
php验证码图片里的点点与线线,和数据库部分封装
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <?php //定义常量 define( "HOST" , "127.0.0.1" ); define( "USER" , "root" ); define( "PWD" , "" );<br> $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 ); <span style= "background-color: rgb(136, 136, 136);" > //声明一个空的数组</span> $r = array (); while ( $row =mysql_fetch_array( $result )){ <span style= "background-color: rgb(136, 136, 136);" > //每次循环,就把$row传给$r,这样,$r就成了一个自动编号的2维数组</span> $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 ); } ?> |
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <?php function test1( $str1 = "" , $str2 = array ()){ <span style= "background-color: rgb(136, 136, 136);" > //把数组分割成字符串 implode //下个这个方法的意思是:$str2应该是个数组 //然后把这个数组按照逗号来分割组成一个新的字符串</span> $s1 =<span style= "color: rgb(255, 0, 0);" > implode</span>( "," , $str2 ); // echo $s1; <span style= "background-color: rgb(136, 136, 136);" > //把字符串分割成数组 explode //这个函数的意思就是:首先$str1是一个字符串,这个字符串是按照一个规格组装出来的 //这个规格就是必须符合前面第一个参数的样式</span> $s2 =<span style= "color: rgb(255, 0, 0);" > explode </span>( "-" , $str1 ); print_r( $s2 ); } <span style= "background-color: rgb(136, 136, 136);" > //函数的默认值</span> 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 =<span style= "color: rgb(255, 0, 0);" > explode </span>( "-" , $date ); $str = <span style= "color: rgb(255, 0, 0);" >vsprintf</span>( "%04d-%02d-%02d" , $arr ); return $str ; } <span style= "background-color: rgb(136, 136, 136);" > //获取函数全部参数 //获取传过来的所有参数</span> function test4(){ <span style= "background-color: rgb(136, 136, 136);" > //获取传过来参数的数量</span> $num = <span style= "color: rgb(255, 0, 0);" >func_num_args</span>(); <span style= "background-color: rgb(136, 136, 136);" > //获取所有传入的参数,返回的是一个数组</span> $arr = <span style= "color: rgb(255, 0, 0);" >func_get_args</span>(); var_dump( $arr ); } function mysql_ping(){ <span style= "background-color: rgb(136, 136, 136);" > //获取传入的所有参数的数组</span> $arr =<span style= "color: rgb(255, 0, 0);" > func_get_args</span>(); <span style= "background-color: rgb(136, 136, 136);" > //获取第一个参数,在我们这个列子里面,第一个参数其实就是sql语句</span> $sql = $arr [0]; <span style= "background-color: rgb(136, 136, 136);" > //传入的sql语句,其实开始是用?替代的变量的位置 //这里需要将变量转化为可以替换格式化字符串的‘%s‘这样的符号</span> $sql =<span style= "color: rgb(255, 0, 0);" > str_replace </span>( "?" , "‘%s‘" , $sql ); <span style= "background-color: rgb(136, 136, 136);" > //array_shift,是将数组最开始的元素移出。返回移出的值,然后数组剩下其余的部分</span> $values = <span style= "color: rgb(255, 0, 0);" > array_shift </span>( $arr ); $sql =<span style= "color: rgb(255, 0, 0);" > vsprintf</span>( $sql , $arr ); echo $sql ; } ?> |
验证码图片里的点点与线线
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | imagefill( $img ,0,0, $background ); <span style= "background-color: rgb(136, 136, 136);" > //字体颜色</span> $color = <span style= "color: rgb(255, 0, 0);" >imagecolorallocate</span>( $img ,rand(0,255),rand(0,255),rand(0,255)); $color1 = <span style= "color: rgb(255, 0, 0);" >imagecolorallocate</span>( $img ,rand(0,255),rand(0,255),rand(0,255)); <span style= "background-color: rgb(136, 136, 136);" > //生成干扰线</span> $lineX1 = rand(1,200); $lineX2 = rand(30,50); for ( $i = 0; $i <3; $i ++){ $lineY1 = rand(3,300); $lineY2 = rand(13,50); <span style= "color: rgb(255, 0, 0);" > imageline</span>( $img , $lineX1 , $lineX2 , $lineY1 , $lineY2 , $color1 ); $lineX1 += rand(30,95); $lineX2 += rand(100,200); } <span style= "background-color: rgb(136, 136, 136);" > //在图片上生成点点</span> for ( $i =0; $i <50; $i ++){ $color3 = <span style= "color: rgb(255, 0, 0);" >imagecolorallocate</span>( $img ,rand(0,255),rand(0,255),rand(0,255)); <span style= "color: rgb(255, 0, 0);" >imagesetpixel</span>( $img ,rand(2,300),rand(3,50), $color3 ); } <span style= "background-color: rgb(136, 136, 136);" > //图片上生成文字 //使图片上的文字层次不齐</span> $postX = rand(6,45); for ( $i =0; $i <4; $i ++){ $postY = rand(2,15); <span style= "color: rgb(255, 0, 0);" > imagestring</span>( $img ,rand(2,6), $postX , $postY , substr ( $rand , $i ,1), $color ); $postX += rand(8,20); } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。