HP编程基础与实例教程.ppt

上传人:za****8 文档编号:6145277 上传时间:2020-02-17 格式:PPT 页数:30 大小:1.41MB
返回 下载 相关 举报
HP编程基础与实例教程.ppt_第1页
第1页 / 共30页
HP编程基础与实例教程.ppt_第2页
第2页 / 共30页
HP编程基础与实例教程.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
PHP编程基础与实例教程PHPFundamentals Practices 第6章PHP的数据采集 主讲 孔祥盛 本章大纲 6 1浏览器端数据的提交方式6 2相对路径和绝对路径6 3使用FORM表单实现浏览器端的数据采集6 4使用 GET和 POST 采集 表单数据6 5上传文件的 数据采集 6 6WEB服务器端其它数据采集方法 6 1浏览器端数据的提交方式 1 GET提交方式GET提交方式是将 请求 数据以查询字符串 QueryString 格式附在URL之后 提交 数据 例如 http localhost 2 register php userName victor password 1234 confirmPassword 1234 在这个URL中 问号 表示查询字符串的开始 问号 后面的字符串参数 userName victor password 1234 confirmPassword 1234 为查询字符串 可以看出 查询字符串可以包含多个参数 每个参数以 参数名 参数值 的格式定义 参数之间使用 相连 最后再将查询字符串使用 附在URL之后 另外 FORM表单也提供了GET提交方式 除此以外 使用超链接标签也可以实现浏览器端GET提交方式 6 1浏览器端数据的提交方式 2 POST提交方式POST数据提交方式一般通过FORM表单实现 由于默认情况下FORM表单的数据提交方式为GET方式 必须在FORM表单的标签中加入属性 method post 将数据提交方式修改为POST方式 6 1浏览器端数据的提交方式 3 GET和POST混合提交方式还可以使用FORM表单实现GET和POST混合提交方式 即向WEB服务器某PHP程序发出 GET请求 的同时 还向该PHP程序发出 POST请求 6 1浏览器端数据的提交方式 4 两种提交方式的比较 POST提交方式比GET提交方式安全 这是由于GET提交方式提交的数据将出现在URL查询字符串中 并且这些带有查询字符串的URL可以被浏览器缓存到历史记录中 因此诸如用户注册 登录等系统 不建议使用GET提交方式 POST提交方式可以提交更多的数据 理论上讲POST提交方式提交的数据没有大小限制 而GET提交方式提交的数据由于出现在URL查询字符串中 而URL的长度是受限制的 例如IE浏览器对URL长度的限制是2083字节 例如 新闻发布系统中提交篇幅较长的新闻信息时 不建议使用GET提交方式 带有文件上传功能的FORM表单则必须使用POST提交方式 不同的 提交 方式对应的服务器端数据 采集 方式不同 6 2相对路径和绝对路径 1 绝对路径绝对路径是与相对路径相对立的 通常是一个完整的URL 该URL由两个部分构成 scheme 用来描述寻找数据所采用的机制 即 协议 如http协议和ftp协议等 位置 Location 用来描述到哪儿去寻找数据的资源这两部分使用 分隔 例如 6 2相对路径和绝对路径 2 相对路径相对路径可以分为两类 server relative路径与page relative路径 server relative路径是以斜杠 开头的相对路径 在HTML中 以斜杠 开头的相对路径表示从WEB服务器的根目录下开始查找相应的资源文件 使用默认配置安装WAMP后 目录 C wamp www 为Apache服务器的根目录 因此使用相对路径 index php 访问资源时 访问的是目录 C wamp www 下的index php页面 使用相对路径 6 register html 访问资源时 访问的是目录 C wamp www 中的目录 6 下的register html文件 6 2相对路径和绝对路径 2 相对路径page relative路径不以斜杠开头 此时当文件1访问文件2 HTML页面 PHP程序或图片等 资源时 将从文件1的当前目录作为起点查找文件2资源 例如当目录 C wamp www 6 中的register html文件使用超链接访问该目录下的register php文件时 只需在register html文件的超链接中直接指定register php文件即可 6 2相对路径和绝对路径 3 相对路径其它概念1 同一个目录下的资源访问如果文件1和文件2在同一个目录 这两个文件间的相互访问直接使用文件名即可 2 如何表示当前目录 表示文件的当前目录 3 如何表示上级目录 表示文件所在目录的上一级目录 表示文件所在目录的上上级目录 以此类推 4 如何表示下级目录如果文件1访问下级目录中的文件2 直接指定该目录和文件2的文件名即可 6 3使用FORM表单实现浏览器端的数据采集 0 预备FORM表单由三部分组成 表单标签 定义了表单处理程序及数据提交方式等信息 表单控件 包括单行文本框 密码框 隐藏域 多行文本框 复选框 单选框 下拉选择框和文件上传框等表单控件 表单按钮 包括提交按钮 复位按钮和一般按钮 6 3使用FORM表单实现浏览器端的数据采集 1 表单标签表单标签常用的属性有action method enctype title name等 1 action属性设置当前表单数据 提交 的目的地址 当不设置action属性 或设置值等于空字符串 即action 时 表单数据提交给当前页面 2 method属性设置表单数据的提交方式 method属性的值为GET或POST 默认为GET 3 title属性设置表单的提示信息 当用户的鼠标在表单处停留时 浏览器用一个黄色的小浮标显示提示文本 6 3使用FORM表单实现浏览器端的数据采集 1 表单标签4 enctype属性设置提交表单数据时的编码方式 enctype属性的值为multipart form data或application x www form urlencoded 默认为 application x www form urlencoded 当一个FORM表单中存在文件上传框时 必须将enctype属性设置为multipart form data编码方式 5 name属性为当前的FORM表单命名 6 3使用FORM表单实现浏览器端的数据采集 2 表单控件1 单行文本框2 密码框3 多行文本框4 隐藏域5 复选框6 单选框7 文件上传框8 下拉选择框 注意 表单控件嵌套在FORM表单中才有意义 且每个表单控件都要用一个name属性进行标识 这是因为WEB服务器将依据表单控件的name属性判断传递给服务器的每个值分别是由哪个表单控件产生 为了确保数据的准确采集 需要为每个表单控件定义一个独一无二的名称 同为一个组的单选框以及在表单控件中使用数组两种情况除外 6 3使用FORM表单实现浏览器端的数据采集 3 在表单控件中使用数组在一个HTML页面中 有时并不清楚某种表单控件的具体个数 例如 在进行多文件上传时 并不能确定浏览器用户究竟选择多少个上传文件 更无法确定页面中需要多少个文件上传框 在表单控件中使用数组可以解决类似的问题 在表单控件的name属性值后面加上方括号 从而实现在表单控件中使用数组 使用表单控件数组后 当表单提交时 相同name属性的表单控件则以数组的方式向WEB服务器提交多个数据 6 3使用FORM表单实现浏览器端的数据采集 4 表单按钮1 提交按钮2 图像提交按钮3 重置按钮4 自定义按钮 6 3使用FORM表单实现浏览器端的数据采集 5 FORM表单综合应用 用户名 登录密码 确认密码 选择性别 男女个人爱好 音乐游戏电影个人相片 备注信息 请填写备注信息提交按钮 图片按钮 重置按钮 6 4使用 GET和 POST 采集 表单数据 当浏览器向WEB服务器某PHP程序提交数据后 该PHP程序应该根据其 提交 方式决定使用何种数据 采集 方法 当浏览器以GET方式提交的数据时 服务器端PHP程序应当使用预定义变量 GET 采集 提交数据 当浏览器以POST方式提交的数据时 服务器端PHP程序应当使用预定义变量 POST 采集 提交数据 当以POST方式提交的请求数据中包含上传文件时 服务器端PHP程序应当使用预定义变量 FILES 采集 上传文件 6 5上传文件的 数据采集 1 与上传相关的配置下面的配置选项保存在php ini配置文件中 可以适当的修改这些的配置选项满足特定的文件上传需要 file uploads 配置了是否允许通过HTTP协议上传文件 默认值为On 表示PHP预处理器支持文件上传功能 典型配置示例 file uploads Onpost max size 使用POST提交方式提交表单数据时 post max size选项配置了PHP预处理器能够接受的最大表单数据大小 默认值为8M 表示表单中所有数据 包括上传文件 大小之和必须小于8M字节 否则PHP程序将不能采集到任何的表单数据 即当表单数据大小大于post max size选项定义的值时 提交表单后 GET POST和 FILES将为空数组 典型配置示例 post max size 8M 6 5上传文件的 数据采集 1 与上传相关的配置upload max filesize 配置了当前表单中文件上传框允许上传文件的最大值 默认值为2M 当表单中有多个文件上传框时 可以使用upload max filesize选项限制每个上传文件的大小 即若表单有多个文件上传框时 文件大小不超过upload max filesize选项定义的上传框将上传成功 文件大小超过upload max filesize选项定义的上传框将上传失败 上传框之间互不影响上传结果 典型配置示例 upload max filesize 2M 6 5上传文件的 数据采集 1 与上传相关的配置upload tmp dir 配置了PHP上传文件的过程中产生临时文件 默认扩展名为tmp 的目录 默认值为 c wamp tmp 表示临时文件存放在目录c wamp tmp中 典型配置示例 upload tmp dir c wamp tmp 配置好上面四个参数后 在网络正常的情况下 上传小于8M的文件一般不会出现问题 但如果要上传 大 文件 或者网速较慢 只进行上面的配置未必行得通 此时还需进行下面的配置 max input time 配置单个PHP程序解析提交数据 以POST或GET方式 的最大允许时间 单位是秒 默认值为60 当设置为 1表示不限制 典型配置示例 max input time 60 6 5上传文件的 数据采集 1 与上传相关的配置memory limit 配置单个PHP程序在服务器主机运行时 可以占用服务器最大内存数 默认值为128M 当设置为 1表示为不限制 典型配置示例 memory limit 128Mmax execution time 配置单个PHP程序在服务器端运行时占用服务器的最大时间 单位是秒 默认值为30 配置该选项可以有效避免死循环或大文件上传等程序长期占用服务器CPU导致服务器崩溃 如果设置值为0表示不限制运行时间 典型配置示例 max execution time 30 在PHP程序中使用set time limit 函数也可以设置该选项 例如 set time limit 0 6 5上传文件的 数据采集 2 PHP文件上传流程 6 5上传文件的 数据采集 3 预定义变量 FILES使用预定义变量 FILES可以获取上传文件的相关信息 FILES是一个二维数组 例如可以在程序register php中使用如下方法得到register html表单中 个人相片 上传文件的相关信息 FILES myPicture name 上传文件的文件名 FILES myPicture type 上传文件的MIME类型 FILES myPicture size 上传文件的大小 单位为字节 FILES myPicture tmp name 与上传文件相对应的服务器端的临时文件名 FILES myPicture error 文件上传的状态代码 6 5上传文件的 数据采集 4 预定义变量 FILES说明 MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型 当该扩展名文件被访问的时候 浏览器会自动使用指定应用程序来打开 例如GIF图片的MIME类型为 image gif FILES myPicture error 的取值及对应的意义为 0 没有错误发生 文件上传成功 1 上传的文件超过了php ini中upload max filesize选项限制的值 2 上传文件的大小超过了FORM表单中MAX FILE SIZE参数指定的值 3 文件只有部分被上传 4 表单没有选择上传文件 6 5上传文件的 数据采集 5 PHP文件上传的实现PHP提供了两个上传相关的函数 is uploaded file和move uploaded file函数 1 is uploaded file 函数语法格式 boolis uploaded file stringfileName 函数功能 is uploaded file 函数用于判断文件名为fileName的文件是否为上传过程中产生的临时文件 例如 is uploaded file FILES myPicture tmp name 的返回值为TRUE 6 5上传文件的 数据采集 5 PHP文件上传的实现2 move uploaded file 函数语法格式 boolmove uploaded file stringfileName stringdestination 函数功能 move uploaded file 函数用于将上传过程中文件名为fileName的临时文件移动到指定目录destination中 确保文件的成功上传 如果fileName不是合法的临时文件 不会出现任何操作 move uploaded file 函数将返回FALSE 说明 如果目标文件destination已经存在 目标文件destination将会被覆盖 6 6WEB服务器端其它数据采集方法 1 预定义变量 REQUEST使用预定义变量 REQUEST即可以采集GET方式提交的URL查询字符串中的参数信息 也可以采集FORM表单POST方式提交的参数信息 以前程序中所有使用 GET或 POST采集的参数信息都可以替换成使用 REQUEST采集 即 REQUEST array merge GET POST 需要注意的是 使用GET和POST混合方式提交数据时 若一个参数名既存在于GET请求中又存在于POST请求中 使用 REQUEST采集该参数名对应的参数值时 将造成数据的丢失 6 6WEB服务器端其它数据采集方法 2 预定义变量 SERVER使用预定义变量 SERVER可以得到浏览器端和服务器端主机的一些相关信息 例如 SERVER REMOTE ADDR 定义了浏览器端主机的IP地址 SERVER SERVER ADDR 定义了服务器主机的IP地址 SERVER PHP SELF 定义了当前执行程序的文件名 SERVER QUERY STRING 定义了URL的查询字符串 SERVER DOCUMENT ROOT 定义了WEB服务器主目录 SERVER REQUEST URI 定义了除域名外的其余URL部分
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!