.《细说PHP》第10章(下)_文件的上传和下载.pptVIP

  • 1
  • 0
  • 约2.37千字
  • 约 21页
  • 2017-05-02 发布于山西
  • 举报

.《细说PHP》第10章(下)_文件的上传和下载.ppt

.《细说PHP》第10章(下)_文件的上传和下载

第10章(下) 文件的上传和下载;回顾;预习检查;本章任务;1.文件上传;1.1 客户端上传设置;客户端文件上传的form表单: html headtitle文件上传/title/head body form action=upload.php method=post enctype=multipart/form-data input type=hidden name=MAX_FILE_SIZE value=1000000 选择文件:input type=file name=myfile input type=submit value=上传文件 /form /body /html;注意几个特征属性: POST方法: 表单最常用的功能,向目标页面传递变量,我们在上传文件的时候,会在表单中设置相应的属性,来完成文件的传递 enctype=multipart/form-data 这样服务器就会知道,我们要传递一个文件,这样服务器可以知道上载的文件带有常规的表单??息。 MAX_FILE_SIZE 此字段必须在文件输入字段之前,控制最大的传递文件的大小(字节) input type=file name=userfile 设置浏览器文件输入浏览按钮; 1.2在服务器端通过PHP处理上传;PHP配置文件中与文件上传有关的选项;$_FILES多维数组;存储在$_FILES[myfile][error]中的值;错误值对应的常量;常见数据格式(MIME);PHP的文件上传处理函数;?php $allowtype = array(gif, png, jpg); //设置充许上传的类型为gif, png和jpg $size = 1000000; //设置充许大小为1M(1000000字节)以内的文件 $path = ./uploads; //设置上传后保存文件的路径 //1. 判断文件是否可以成功上传到服务器,$_FILES[myfile][error] 为0表示上传成功 if($_FILES[myfile][error] 0) { echo 上传错误: ; switch ($_FILES[myfile][error]) { case 1: die(上传文件大小超出了PHP配置中的约定值:upload_max_filesize); case 2: die(上传文件大小超出了表单中的约定值:MAX_FILE_SIZE); case 3: die(文件只被部分上载); case 4: die(没有上传任何文件); case 6: die(找不到临时文件夹); case 7: die(文件写入失败); default: die(末知错误); } } //2. 判断上传的文件是否为充许的文件类型,通过文件的后缀名 $hz = array_pop(explode(., $_FILES[myfile][name]));; //3. 通过判断文件的后缀方式,来决定文件是否是充许上传的文件类型 if(!in_array($hz, $allowtype)) { die(这个后缀是b{$hz}/b,不是充许的文件类型!); } //4. 判断上传的文件是否为充许大小 if($_FILES[myfile][size] $size ) { die(超过了充许的b{$size}/b字节大小); } //5. 为了系统安全,也为了同名文件不会被覆盖,上传后将文件名使用系统定义 $filename = date(YmdHis).rand(100,999)...$hz; //6. 判断是否为上传文件 if (is_uploaded_file($_FILES[myfile][tmp_name])) { if (!move_uploaded_file($_FILES[myfile][tmp_name], $path./.$filename)) { die(问

文档评论(0)

1亿VIP精品文档

相关文档