php验证码图片里的点点与线线,和数据库部分封装
时间:2014-05-15 07:27:14
收藏:0
阅读:320
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); } |
评论(0)