1、第二部分 PHP高级技术 学习目标: 1、掌握PHP数据库分页技术 2、掌握PHP图形图像处理 3、掌握PHP文件操作 学习内容: 1、PHP数据库分页技术 2、验证码生成 3、掌握PHP文件上传 学习过程: 一、数据库分页技术 具备两个知识: 1、数据分页sql 命令 limit 公式:select * from Talbe limit (page-1)*pageSize , pageSize. 注: page 表示当前页 pageSize 表示每页显记录数 问题:如何求总页数?就要知道每页显示记录数,总记录数 select co
2、ut(id) from student;
总页数=ceil(总记录数/每页显示记录数)
select * from student limit 2 只从student 表查两条记录出来
select * from student limit 0,2 只从student的第0条记录后查出2条记录
select * from student limit 2,2 从student 表的第2条记录后查出2条记录
2、使用超连接传递数据GET(超连接和表单) 、POST(表单)
传参
2.php
3.php
当前页为:=$page?>页
首页
4、r/>
下一页
上一页
尾页
实做:
分页技术需要那些元素:当前页、每页显示记数数、总页数
5、//1、通过查询求总记录数 mysql_connect("localhost","root","123"); mysql_select_db("study"); $rs1 =mysql_query("select count(*) from student"); $row1=mysql_fetch_array($rs1,2); $totalNumber=$row1[0]; $totalPage=ceil($totalNumber/$pageSize); //2、查询出当前页的内容 $jump=($page-1)*$pageSize; $sql="selec
6、t * from student limit $jump,$pageSize"; $rs2=mysql_query($sql); ?>
| 学号 | 姓名 | 性别 |
8、
上一页
尾页
二、文件上传(API)
工作原理:如果表单里面有文件域 ,当提交表单时,服务器会自动将文件上传信息给封装到全部变量$_FILES.且自动将文件放入到操作系统的临时文夹件,然后我们程序员使用move_upload_file将其移动站点相应位置。
1、制作文件上传的表单
11、OAD_ERR_INI_SIZE 其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 UPLOAD_ERR_FORM_SIZE 其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 UPLOAD_ERR_PARTIAL 其值为 3,文件只有部分被上传。 UPLOAD_ERR_NO_FILE 其值为 4,没有文件被上传。 UPLOAD_ERR_NO_TMP_DIR 其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。 UPLOAD_
12、ERR_CANT_WRITE 其值为 7,文件写入失败。PHP 5.1.0 引进。 move_uploaded_file将上传的文件移动到新的位置。 注:move_uploaded_file(源路路径,目标路径) 它的路径只识别本地
13、绝对路径和文件相对路径,我们使用文件相对路径不利于维护和通用。解决方案是将站点相对路径转换成本地绝对路径。转换方式在站点相对路径下加$_SESERVER[DOCUMENT_ROOT](站点本地绝对路径);
14、 $dst;
$abpath=$savepath.$name;
echo $abpath;
move_uploaded_file($src,$dst);//将临时文件移动到相应的位置
?>
三、图形图像处理(API Image)
1、创建图像的函数 imagecreate imagecreatetruecolor imagecreatefromgif(JPEG\PNG)
2、色彩处理 imagecolorallocate
3、图像处理 imagedashedline - 画一虚线
15、imagedestroy - 销毁一图像 imageellipse - 画一个椭圆 imagefill - 区域填充 imagefilledarc - 画一椭圆弧且填充 imagefilledellipse - 画一椭圆并填充 imagefilledpolygon - 画一多边形并填充 imagefilledrectangle - 画一矩形并填充 imagestring - 水平地画一行字符串 4、图像的输出 imagejpeg(GIF、PNG) 输出到流览器或文件 Example1:
16、 imagecreatetruecolor(80,30); /*创建一个背景色采*/ $bkColor=imagecolorallocate($img,0,0,0); $gColor=imagecolorallocate($img,255,255,255); /*生成验证码的字符串*/ $i=1; $str=""; while($i<=4) { $str.=rand(0,9); $i++; } /*将字符串绘入图片*/ imagestring($img,7,20,8,$str,$gColor); //输出图片到文件路径 image
17、jpeg($img,"d:\code.jpeg"); ?> Example2 1) 验证码制作image.php
18、colorallocate($img,255,255,255); /*生成验证码的字符串*/ $i=1; $str=""; while($i<=4) { $str.=rand(0,9); $i++; } /*将随机字符串保存在session*/ $_SESSION['code']=$str; /*将字符串绘入图片*/ imagestring($img,7,20,8,$str,$gColor); //输出图片到文件路径 imagejpeg($img); ?> 验证码使用inputCode.php
19、start(); if($_POST!=null) { $code =$_SESSION['code']; $rcode =$_POST['rcode']; if($code==$rcode) { echo "验证码合法"; } else { echo "验证码不合法"; } } ?>
课外作业: 下载thinkphp 3.0 全部代码及文档





