开源的PHP+mysql:第10讲时间函数和文件上传省名师优质课赛课获奖课件市赛课一等奖课件_第1页
开源的PHP+mysql:第10讲时间函数和文件上传省名师优质课赛课获奖课件市赛课一等奖课件_第2页
开源的PHP+mysql:第10讲时间函数和文件上传省名师优质课赛课获奖课件市赛课一等奖课件_第3页
开源的PHP+mysql:第10讲时间函数和文件上传省名师优质课赛课获奖课件市赛课一等奖课件_第4页
开源的PHP+mysql:第10讲时间函数和文件上传省名师优质课赛课获奖课件市赛课一等奖课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10讲日期函数和文件上传

(12、15章)1/21课前回顾

窗体处理与URL参数(重点)网页窗体用途HTML标签建立网页窗体$_POST与$_GET结合数组变量URL参数传递数据

惯用Html标签(掌握)

文本框,密码框,文本区域框

单项选择框,多项选择框,下拉框2/21本节内容日期和时间函数

惯用日期和时间函数

处理日期和时间文件上传

文件上传相关函数

文件上传示例3/2110.1.1日期和时间函数函数:stringdate(stringformat[,inttimestamp])说明:返回将整数timestamp按照给定格式字串而产生字符串。假如没有给出时间戳则使用当地当前时间。参阅教材201页查看此函数格式化参数内容

<?php date_default_timezone_set(‘PRC’);//设定时区

//假定今天是:March10th,,5:16:18pm

$today=date("Fj,Y,g:ia");

//March10,,5:16pm

$today=date("m.d.y");

//03.10.01

$today=date("j,n,Y");

//10,3,

$today=date("Ymd");

//0310

$today=date('\i\t\i\s\t\h\ejS\d\a\y.');

//Itisthe10thday.

$today=date("DMjG:i:s");

//SatMar1015:16:08 $today=date('H:m:s\m\i\s\\m\o\n\t\h');

//17:03:17mismonth

$today=date("H:i:s");

//17:16:17

?>4/2110.1.1日期和时间函数函数:arraygetdate([inttimestamp])说明:返回一个依据timestamp得出包含有日期信息结合数组。假如没有给出时间戳则认为是当前当地时间。<?php

$today=getdate();

print_r($today);?>5/2110.1.2处理时间函数:intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[,intyear]]]]]])说明:依据给出参数返回Unix时间戳(January1197000:00:00GMT)。<?php

echodate("M-d-Y",mktime(0,0,0,1,1,1998));

echodate("M-d-Y",mktime(0,0,0,1,1,98));?>6/2110.1.2处理时间函数:inttime()说明:返回自从Unix纪元(格林威治时间1970年1月1日00:00:00)到当前时间秒数。<?php

$nextWeek=time()+(7*24*60*60);

//7days;24hours;60mins;60secs

echo'Now:

'.date('Y-m-d')."\n";

echo'NextWeek:'.date('Y-m-d',$nextWeek)."\n";?>7/2110.1.2处理时间函数:

intstrtotime(stringtime[,intnow])说明:将任何英文文本日期时间描述解析为Unix时间戳。<?php

echostrtotime("now"),"\n";

echostrtotime("10September"),"\n";

echostrtotime("+1day"),"\n";

echostrtotime("+1week"),"\n";

echostrtotime("+1week2days4hours2seconds"),"\n";

echostrtotime("nextThursday"),"\n";

echostrtotime("lastMonday"),"\n“;?>8/2110.2文件上传在B/S程序汉字件上传已经成为一个惯用功效。其目标是客户能够经过浏览器(Browser)将文件上传到服务器(Server)上指定目录。PHP汉字件上传基础知识表单提交对文件操作9/2110.2.1表头要求<html><head><title>文件上传</title></head><body>

<formaction="todo.php"method="post"

enctype="multipart/form-data">

<inputtype="hidden"name="MAX_FILE_SIZE"value="100000">

上传文件:<inputtype="file"name="userfile">

提交:<inputtype="submit"value="提交">

</form></body></html>10/2110.2.1注意几个特征属性POST方法: 表单最惯用功效,向目标页面传递变量,我们在上传文件时候,会在表单中设置对应属性,来完成文件传递enctype="multipart/form-data"这么服务器就会知道,我们要传递一个文件,这么服务器能够知道上载文件带有常规表单信息。MAX_FILE_SIZE此字段必须在文件输入字段之前,控制最大传递文件大小(字节)——真能够控制吗?<inputtype="file"name="userfile">设置浏览器文件输入浏览按钮11/2110.2.1注意几个特征属性MAX_FILE_SIZE值只是对浏览器一个提议,实际上能够被简单攻击,我们不要对浏览器端限制寄予什么希望,它只能防止君子错误输入,对于普通web工程师都会跳过浏览器端限制。不过最好还是在表单上使用MAX_FILE_SIZE,因为对于善意错误我们能够帮助纠正,防止用户花费很长时间等候大文件上传,传了半天,才发觉无法上传。我们在服务器端php.ini中设置对表单传递数据深入判断file_uploads=On/Off

是否允许文件上传upload_max_filesize=2M

上传文件最大大小post_max_size=8MPOST数据所允许最大大小表单传递数据,文件只是其中一部分,所以设置时,upload_max_filesize应该小于post_max_size12/2110.2.2超级全局数组$_FILESPHP程序中,需要处理上传数据保留在全局数组$_FILES(超级全局数组)中保留$_FILES数组中元素,将HTML表单type="file"标识名称name="userfile"存放在数组中。 1:存放在$_FILES['userfile']['name']中值是:客户端文件系统文件名称 2:存放在$_FILES['userfile']['type']中值是:客户端传递文件类型13/2110.2.2超级全局数组$_FILES 3:存放在$_FILES['userfile']['size']中值是:文件字节大小 4:存放在$_FILES['userfile']['tmp_name']中值文件被上传后在服务器存放暂时全路径 5:存放在$_FILES['userfile']['error']中值是:文件上传错误代码14/2110.2.2错误代码代表含义在$_FILES['userfile']['error']中返回错误代码是在PHP4.2.0版本中引入。详细以下:值为0:表示没有发生任何错误。值为1:表示上传文件大小超出了约定值。文件大小最大值是在PHP配置文件中指定,该指令是:upload_max_filesize。值为2:表示上传文件大小超出了HTML表单隐藏域属性MAX_FILE_SIZE元素所指定最大值。值为3:表示文件只被部分上传。值为4:表示没有上传任何文件。15/2110.2.3

暂时存放目录上传文件被放置到服务器端暂时目录:/tmp目录里面

命名为一个唯一,随机生成暂时文件名。

注:该文件在程序执行完后将自动被删除掉。在删除前能够像当地文件一样操作。/tmp目录是默认上传暂时文件存放地点,

假如需要更改这个目录:

能够编辑php.ini文件FileUploads段upload_tmp_dir

属性值。16/2110.2.4

上传后处理使用is_uploaded_file()函数来检验此文件是否是上传文件。应该使用move_uploaded_file(暂时路径/暂时文件名,目标路径/目标文件名)函数将存放在暂时目录下上传文件拷贝出来,存放到指定目录指定文件名,假如目标存在将会被覆盖。17/2110.2.4

处理页面代码if($_FILES['userfile']['error']>0) { echo'上传错误:'; switch($_FILES['userfile']['error']) { case1: echo'上传文件大小超出了PHP配置文件中约定值:upload_max_filesize'; break; case2: echo'上传文件大小超出了表单中约定值:max_file_size'; break;

18/2110.2.4

处理页面代码 case3: echo'文件只被部分上载'; break; case4: echo'没有上传任何文件'; break; } exit; }19/21if($_FILES['userfile']['type']!='text/plain') { echo'问题:文件不是一个文本文件。'; exit; }

$upfile='./uploads/'.$_FILES['userfile']['name'];

10.2.4

处理页面代码20/21 if(is_uploaded_file($_FILES['userfile']['tmp_name'])) { //判断是否为上传文件

if(!move_uploaded_file($_FILES['u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论