收藏 分销(赏)

第二部分-PHP高级技术.doc

上传人:仙人****88 文档编号:7382608 上传时间:2025-01-01 格式:DOC 页数:7 大小:56.50KB 下载积分:10 金币
下载 相关 举报
第二部分-PHP高级技术.doc_第1页
第1页 / 共7页
第二部分-PHP高级技术.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
第二部分 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 cout(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(表单) <a href="页面?变量名=值&变量名=值/> 在进行传递将变量名作为$_GET里面的键,值做为$_GET里面键对应的值。注:如果页面没有写,表示是在本页传递。 1.php <a href="2.php?page=2&sex=man">传参</a> 2.php <?php print_r($_GET); ?> 3.php <?php if($_GET['page']==null |$_GET['page']=="") { $page=1; } else { $page=$_GET['page']; } ?> 当前页为:<?=$page?>页<br/> <a href="">首页</a><br/> <a href="?page=<?php echo ($page+1);?>">下一页</a><br/> <a href="?page=<?=$page-1?>">上一页</a><br/> <a href="">尾页</a><br/> 实做: 分页技术需要那些元素:当前页、每页显示记数数、总页数 <?php if($_GET['page']==null |$_GET['page']=="") { $page=1; } else { $page=$_GET['page']; } $pageSize=2;//每页显示两条记录 //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="select * from student limit $jump,$pageSize"; $rs2=mysql_query($sql); ?> <table border="1"> <tr><td>学号</td><td>姓名</td><td>性别</td></tr> <?php while($row=mysql_fetch_array($rs2,2)) { ?> <tr><td><?php echo $row[0];?></td><td><?php echo $row[1];?></td><td><?php echo $row[2];?></td></tr> <?php } ?> </table> <?=$page?>/<?php echo $totalPage;?><br/> <a href="?page=1">首页</a><br/> <?php if($page>=$totalPage) { ?> 下一页<br/> <?php } else { ?> <a href="?page=<?php echo ($page+1);?>">下一页</a><br/> <?php } ?> <?php if($page<=1) { ?> 上一页<br/> <?php } else { ?> <a href="?page=<?=$page-1?>">上一页</a><br/> <?php } ?> <a href="?page=<?php echo $totalPage;?>">尾页</a><br/> 二、文件上传(API) 工作原理:如果表单里面有文件域 ,当提交表单时,服务器会自动将文件上传信息给封装到全部变量$_FILES.且自动将文件放入到操作系统的临时文夹件,然后我们程序员使用move_upload_file将其移动站点相应位置。 1、制作文件上传的表单 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文件上传</title> </head> <body> <form action="doUpfile.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <p>上传文件: <input type="file" name="file" id="file"> </p> <p> <input type="submit" name="button" id="button" value="提交"> </p> </form> </body> </html> 注:只要有文件域增加enctype="multipart/form-data" 2、文件上传的处理 doUpfile.php $_FILES 是一个全局数组,如果有文件,会将文件域的name属性的值做为键,生成一个文件相关信息一维数给。 name : 上传原文件的名字;type:上传文件的类型 tmp_name:上传文件在服务器上临时路径;error:错误信息代码;size:文件的大小 UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功。 UPLOAD_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_ERR_CANT_WRITE 其值为 7,文件写入失败。PHP 5.1.0 引进。 <?php //print_r($_FILES); $name =$_FILES['file']['name'];//取到原文件名字 $src =$_FILES['file']['tmp_name'];//上传文件的临时路径 move_uploaded_file($src,$name);//将临时文件移动到相应的位置 ?> move_uploaded_file将上传的文件移动到新的位置。 注:move_uploaded_file(源路路径,目标路径) 它的路径只识别本地绝对路径和文件相对路径,我们使用文件相对路径不利于维护和通用。解决方案是将站点相对路径转换成本地绝对路径。转换方式在站点相对路径下加$_SESERVER[DOCUMENT_ROOT](站点本地绝对路径); <?php print_r($_FILES); $savepath="/upload/"; $name =$_FILES['file']['name'];//取到原文件名字 $src =$_FILES['file']['tmp_name'];//上传文件的临时路径 $dst =$_SERVER[DOCUMENT_ROOT].$savepath.$name; echo $dst; $abpath=$savepath.$name; echo $abpath; move_uploaded_file($src,$dst);//将临时文件移动到相应的位置 ?> <img src="<?php echo $abpath;?>"/> 三、图形图像处理(API Image) 1、创建图像的函数 imagecreate imagecreatetruecolor imagecreatefromgif(JPEG\PNG) 2、色彩处理 imagecolorallocate 3、图像处理 imagedashedline - 画一虚线 imagedestroy - 销毁一图像 imageellipse - 画一个椭圆 imagefill - 区域填充 imagefilledarc - 画一椭圆弧且填充 imagefilledellipse - 画一椭圆并填充 imagefilledpolygon - 画一多边形并填充 imagefilledrectangle - 画一矩形并填充 imagestring - 水平地画一行字符串 4、图像的输出 imagejpeg(GIF、PNG) 输出到流览器或文件 Example1: <?php /*创建了一个宽为150px 高为30的图像*/ $img = 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); //输出图片到文件路径 imagejpeg($img,"d:\code.jpeg"); ?> Example2 1) 验证码制作image.php <?php /*开启会话功能*/ session_start(); /*让网页以jpeg图片格式显示*/ header("content-tye:image/jpeg"); /*创建了一个宽为150px 高为30的图像*/ $img = 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++; } /*将随机字符串保存在session*/ $_SESSION['code']=$str; /*将字符串绘入图片*/ imagestring($img,7,20,8,$str,$gColor); //输出图片到文件路径 imagejpeg($img); ?> 验证码使用inputCode.php <?php session_start(); if($_POST!=null) { $code =$_SESSION['code']; $rcode =$_POST['rcode']; if($code==$rcode) { echo "验证码合法"; } else { echo "验证码不合法"; } } ?> <script type="text/javascript"> window.onload=function() { var c = document.getElementById("im"); c.onclick=function(){ this.src="image.php?data="+new Date().toString(); } } </script> <form action="" method="post"> 输入验证码:<input type="text" name="rcode"/><img src="image.php" id="im" /><br/> <input type="submit" value="提交"/> </form> 课外作业: 下载thinkphp 3.0 全部代码及文档
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服