开源的PHPmysql:第10讲时间函数和文件上传

上传人:平*** 文档编号:46419438 上传时间:2018-06-26 格式:PPT 页数:21 大小:1.46MB
返回 下载 相关 举报
开源的PHPmysql:第10讲时间函数和文件上传_第1页
第1页 / 共21页
开源的PHPmysql:第10讲时间函数和文件上传_第2页
第2页 / 共21页
开源的PHPmysql:第10讲时间函数和文件上传_第3页
第3页 / 共21页
开源的PHPmysql:第10讲时间函数和文件上传_第4页
第4页 / 共21页
开源的PHPmysql:第10讲时间函数和文件上传_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《开源的PHPmysql:第10讲时间函数和文件上传》由会员分享,可在线阅读,更多相关《开源的PHPmysql:第10讲时间函数和文件上传(21页珍藏版)》请在金锄头文库上搜索。

1、第10讲 日期函数和文件上传 (12、15章)课前回顾 窗体处理与URL参数(重点) 网页窗体的用途 HTML标签建立网页窗体 $_POST与$_GET结合数组变量 URL参数传递数据 常用Html标签(掌握) 文本框,密码框,文本区域框 单选框,多选框,下拉框本节内容日期和时间函数常用的日期和时间函数处理日期和时间文件上传文件上传的相关函数文件上传示例10.1.1日期和时间函数函数:string date ( string format , int timestamp ) 说明:返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有 给出时间戳则使用本地当前时间。参阅教材

2、201页查看此函数的格式化参数 内容10.1.1日期和时间函数函数:array getdate ( int timestamp ) 说明:返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给 出时间戳则认为是当前本地时间。10.1.2 处理时间函数:int mktime ( int hour , int minute , int second , int month , int day , int year )说明:根据给出的参数返回 Unix 时间戳(January 1 1970 00:00:00 GMT) 。10.1.2 处理时间函数:int time () 说明:

3、返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前 时间的秒数。10.1.2 处理时间函数: int strtotime ( string time , int now ) 说明:将任何英文文本的日期时间描述解析为 Unix 时间戳。10.2 文件上传在B/S程序中文件上传已经成为一个常用功能。其目的是客户可以通过浏览器(Browser)将文件上传到服务器(Server)上的指定目录。 PHP中文件上传的基础知识表单提交对文件的操作10.2.1 表头要求文件上传上传文件: 提交:10.2.1注意几个特征属性POST方法: 表单最常用的功能,向目标页面

4、传递变量,我们在上传文件的时候,会在表单中 设置相应的属性,来完成文件的传递 enctype=“multipart/form-data“这样服务器就会知道,我们要传递一个文件,这样服务器可以知道上载的文件带有 常规的表单信息。 MAX_FILE_SIZE此字段必须在文件输入字段之前,控制最大的传递文件的大小(字节) 真的可 以控制吗?设置浏览器文件输入浏览按钮10.2.1注意几个特征属性MAX_FILE_SIZE的值只是对浏览器的一个建议,实际上可以被简单的攻击, 我们不要对浏览器端的限制寄予什么希望,它只能避免君子的错误输入,对 于普通的web工程师都会跳过浏览器端的限制。但是最好还是在表单

5、上使用MAX_FILE_SIZE,因为对于善意的错误我们可以 帮助纠正,避免用户花费很长的时间等待大文件上传,传了半天,才发现无 法上传。我们在服务器端的php.ini中设置对表单传递的数据进一步判断file_uploads = On /Off 是否允许文件上传upload_max_filesize = 2M 上传的文件的最大大小post_max_size = 8M POST数据所允许的最大大小表单传递的数据,文件只是其中的一部分,所以设置时, upload_max_filesize应该小于post_max_size10.2.2超级全局数组$_FILESPHP程序中,需要处理的上传数据保存在全

6、局数组$_FILES(超级全局数组) 中保存$_FILES数组中的元素,将HTML表单的type=“file“标记的名称 name=“userfile“ 存放在数组中。1:存储在$_FILESuserfilename中的值是:客户端文件系统的文件的名称2:存储在$_FILESuserfiletype中的值是:客户端传递的文件的类型10.2.2超级全局数组$_FILES3:存储在$_FILESuserfilesize中的值是:文件的字节的大小4:存储在$_FILESuserfiletmp_name中的值文件被上传后在服务器存储的临时全路径5:存储在$_FILESuserfileerror中的值是

7、:文件上传的错误代码10.2.2错误代码代表的含义在$_FILESuserfileerror中返回的错误代码是在PHP4.2.0版本中引入的 。具体如下:值为0:表示没有发生任何错误。值为1:表示上传文件的大小超出了约定值。文件大小的最大值是在PHP配置 文件中指定的,该指令是:upload_max_filesize。值为2:表示上传文件大小超出了HTML表单隐藏域属性的MAXFILE SIZE元素所指定的最大值。值为3:表示文件只被部分上传。值为4:表示没有上传任何文件。10.2.3 临时存放目录上传的文件被放置到服务器端临时目录:/tmp目录里面 命名为一个唯一的,随机生成的临时文件名。

8、注:该文件在程序执行完后将自动被删除掉。在删除前可以像本地文件一样 操作。/tmp目录是默认的上传临时文件存放地点,如果需要更改这个目录:可以编辑php.ini 文件File Uploads 段的upload_tmp_dir 属性值。10.2.4 上传后的处理使用is_uploaded_file( )函数来检查此文件是否是上传文件。应该使用move_uploaded_file(临时路径/临时文件名,目的路径/目的文件名 ) 函数将存放在临时目录下的上传文件拷贝出来,存放到指定目录的指定文件名,如果目标存在将会被覆盖。10.2.4 处理页面代码if ($_FILESuserfileerror 0

9、)echo 上传错误: ; switch ($_FILESuserfileerror) case 1: echo 上传文件大小超出了PHP配置文件中的约 定值:upload_max_filesize; break; case 2: echo 上传文件大小超出了表单中的约定值: max_file_size; break; 10.2.4 处理页面代码case 3: echo 文件只被部分上载; break; case 4: echo 没有上传任何文件; break; exit; if ($_FILESuserfiletype != text/plain) echo 问题: 文件不是一个文本文件。;

10、 exit; $upfile = ./uploads/.$_FILESuserfilename; 10.2.4 处理页面代码if (is_uploaded_file($_FILESuserfiletmp_name) /判断是否为上传文件 if (!move_uploaded_file($_FILESuserfiletmp_name, $upfile)/移动文件 echo 问题: 不能将文件移动到指定目录。; exit; else echo 问题: 上传文件不是一个合法文件: ; echo $_FILESuserfilename; exit; echo 文件上传成功!; 10.2.4 处理页面代码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号