PHP (20140514)
单个分装增删改查的函数:
1 <?php 2 //定义常量 3 define("HOST","127.0.0.1"); 4 define("USER","root"); 5 define("PWD",""); 6 $conn = ""; 7 function get_conn(){ 8 global $conn; 9 $conn = mysql_connect(HOST,USER,PWD) or die(mysql_error()); 10 mysql_select_db("bbs",$conn); 11 mysql_query("set names 'utf8'"); 12 } 13 14 function query($sql){ 15 $result = mysql_query($sql); 16 //声明一个空的数组 17 $r = array(); 18 while($row=mysql_fetch_array($result)){ 19 //每次循环,就把$row传给$r,这样,$r就成了一个自动编号的2维数组 20 $r[] = $row; 21 } 22 return $r; 23 } 24 25 //插入方法 26 function insert($sql){ 27 $result = mysql_query($sql); 28 return $result; 29 } 30 31 function insert2($table,$column,$value){ 32 $sql = "insert into $table($column) values($value)"; 33 $result = mysql_query($sql); 34 return $result; 35 } 36 37 38 function close(){ 39 global $conn; 40 mysql_close($conn); 41 } 42 ?>
把一些东西封装起来,方便调用:
1 <?php 2 function test1($str1="",$str2=array()){ 3 //把数组分割成字符串 implode 4 //下个这个方法的意思是:$str2应该是个数组 5 //然后把这个数组按照逗号来分割组成一个新的字符串 6 $s1 = implode(",",$str2); 7 // echo $s1; 8 9 //把字符串分割成数组 explode 10 //这个函数的意思就是:首先$str1是一个字符串,这个字符串是按照一个规格组装出来的 11 //这个规格就是必须符合前面第一个参数的样式 12 $s2 = explode("-",$str1); 13 14 print_r($s2); 15 } 16 17 //函数的默认值 18 function test2($db="bbs"){ 19 $conn = mysql_connect(HOST,USER,PWD) or die(mysql_error()); 20 mysql_select_db($db,$conn); 21 mysql_query("set names 'utf8'"); 22 } 23 24 function test3($str="hello world"){ 25 echo $str; 26 } 27 28 function formatDateTime($date){ 29 $arr = explode("-",$date); 30 $str = vsprintf("%04d-%02d-%02d",$arr); 31 return $str; 32 } 33 34 35 //获取函数全部参数 36 //获取传过来的所有参数 37 function test4(){ 38 //获取传过来参数的数量 39 $num = func_num_args(); 40 //获取所有传入的参数,返回的是一个数组 41 $arr = func_get_args(); 42 43 var_dump($arr); 44 } 45 46 function mysql_ping(){ 47 //获取传入的所有参数的数组 48 $arr = func_get_args(); 49 //获取第一个参数,在我们这个列子里面,第一个参数其实就是sql语句 50 $sql = $arr[0]; 51 //传入的sql语句,其实开始是用?替代的变量的位置 52 //这里需要将变量转化为可以替换格式化字符串的'%s'这样的符号 53 //替换 54 $sql = str_replace("?","'%s'",$sql); 55 56 //array_shift,是将数组最开始的元素移出。返回移出的值,然后数组剩下其余的部分 57 $values = array_shift($arr); 58 59 $sql = vsprintf($sql,$arr); 60 61 echo $sql; 62 } 63 64 65 66 67 ?>
验证码生成干扰线跟点点:
1 //生成干扰线,就是画线 2 $posLineX1 = rand(6,30); 3 $posLineX2 = rand(30,60); 4 for($i=0;$i<5;$i++){ 5 $posLinY1=rand(2,10); 6 $posLinY2=rand(11,28); 7 imageline($im,$posLineX1,$posLinY1,$posLineX2,$posLinY2,$te2); 8 $posLineX1 += rand(30,60); 9 $posLineX2 += rand(61,98); 10 } 11 12 for($i=0;$i<90;$i++){ 13 $te3 = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 14 imagesetpixel($im,rand(2,100),rand(2,30),$te3); 15 }