PHP笔记之文件上传

目录

文件上传

1、文件上传原理

2、超全局变量数组 $_FILES (九个全局数组之一)

3、上传文件错误代码

4、查看上传的临时文件位置

5、将上传文件移动到新位置

6、上传文件的相关配置(php.ini)

7、获取文件路径信息 pathinfo()

8、检查数组中是否存在某个值 in_array()

9、生成唯一ID uniqid()

实例:单个文件上传

1、上传表单制作upload.html

2、上传文件的程序处理upload.php

实例:多个文件上传

1、制作上传表单

2.上传多个文件的程序处理


文件上传

1、文件上传原理

  • 上传文件,就是将文件从浏览器端传到服务器端;
  • 上传文件,必须使用
    标记来向服务器端发数据;
  • 上传文件,标记的method属性值必须是POST
  • 上传文件,标记的enctype属性值必须是multipart/form-data
  • 上传文件,必须使用file name=upload>标记实现。

PHP笔记之文件上传_第1张图片  PHP笔记之文件上传_第2张图片

2、超全局变量数组 $_FILES (九个全局数组之一

  • $_POST数组中保存的是普通表单元素数据;
  • $_FILES数组中保存的是上传文件的信息。

PHP笔记之文件上传_第3张图片 PHP笔记之文件上传_第4张图片

PHP笔记之文件上传_第5张图片

3、上传文件错误代码

PHP笔记之文件上传_第6张图片

提示:0、1、4比较重要。

4、查看上传的临时文件位置

  • 上传文件的默认临时目录,如果没有指定php.ini配置项upload_tmp_dir的值,则使用操作系统临时目录(c:\windows\temp)。通过phpinfo()函数查看。
  • 为什么在 c:\windows\temp 中看不到上专文件呢?因为临时文件是短暂存在的,也就是在脚本执行完毕后,就消失了

PHP笔记之文件上传_第7张图片

5、将上传文件移动到新位置

  • 描述:本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。最好在临时文件没有消失前移动。
  • 语法:bool move_uploaded_file ( string $filename , string $destination )
  • 参数:$filename,指定上传的临时文件名;$destination,指定新的文件名路径;
  • 注意:如果文件已经存在,则会覆盖操作

PHP笔记之文件上传_第8张图片

6、上传文件的相关配置(php.ini)

  • upload_max_filesize配置:上传单个文件的大小限制,默认为2MB。
  • post_max_size配置:规定上传多个文件的总大小,默认为8MB。
  • max_file_uploads配置:规定最多上传的文件个数,默认为20个。

PHP笔记之文件上传_第9张图片

7、获取文件路径信息 pathinfo()

  • 描述:返回文件路径的信息 ;
  • 语法:mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
  • 参数:
    • $path,要解析的路径。
    • $options,如果省略,返回全部单元;
    • PATHINFO_DIRNAME,目录名称;
    • PATHINFO_BASENAME,文件名称;
    • PATHINFO_EXTENSION,扩展名;
    • PATH_FILENAME,文件名。

获取扩展名:

8、检查数组中是否存在某个值 in_array()

  • 描述:检查数组中是否存在某个值
  • 语法:bool in_array ( mixed $needle , array $arr )
  • 参数:$needle检索的值,$arr原数组。

 

9、生成唯一ID uniqid()

  • 描述:生成一个唯一ID
  • 语法:string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )
  • 参数:
    • $prefix前缀字符串,如果省略,返回字符串长度为13;
    • $more_entropy后缀字符串,如果为true,返回字符串长度为23。

PHP笔记之文件上传_第10张图片

实例:单个文件上传

1、上传表单制作upload.html

2、上传文件的程序处理upload.php

PHP笔记之文件上传_第11张图片 PHP笔记之文件上传_第12张图片

 

实例:多个文件上传

1、制作上传表单

PHP笔记之文件上传_第13张图片

一次性选择多个文件,这是JS代码解决的问题

PHP笔记之文件上传_第14张图片  PHP笔记之文件上传_第15张图片

 

3维数组要降二维数组处理

PHP笔记之文件上传_第16张图片

2.上传多个文件的程序处理

(只做简单处理,文件不为空,就移动文件)

分析:(注意下面的图片文件名是实验过的,然后再拿来实验的,一般文件名如上面的截图,img01.jpg这样的

PHP笔记之文件上传_第17张图片  PHP笔记之文件上传_第18张图片

 

你可能感兴趣的:(Web知识)