文件上传
一.php.ini的配置指令
要让服务器支持PHP的上传文件操作,以及对其上传操作做一些设置,需要对php.ini进行相关的设置
它们都位于php.ini文件的 File Uploads 区段
file_uploads = On/off 设置可以上传
upload_max_filesize = 2M 这个值是默认的,单个文件的最大值,还是比较小的,可以适当调大些
max_file_uploads = 20 同一请求内同时上传文件的上限数目,默认为20
upload_tmp_dir = String类型 默认这个值没有设置,用来临时存放上传到服务器的目录
二.操作对象
PHP提供了超级全局变量来存储与通过一个PHP脚本上传到服务器的文件相关的信息
$_FILES数组
1.$_FILES['userfile']['error']
提供与上传尝试结果有关的重要信息
UPLOAD_ERR_OK
UPLOAD_ERR_INI_SIZE
UPLOAD_ERR_FROM_SIZE
等。这个可以查询。
2.$_FILES['userfile']['name']
指定客户端机器上声明的文件的最初名字,含扩展名。
3.$_FILES['userfile']['size']
从客户端上传的文件的大小,单位为字节。
4.$_FILES['userfile']['tmp_name']
上传到服务器后为文件赋予的临时名。这个文件存储在临时目录里。也就是第一部分里提到的upload_tmp_dir
目录下
5.$_FILES['userfile']['type']
上传文件的MIME类型,例如application/pdf之类。在抓包的时候我们经常见到。
三.文件上传函数
is_uploaded_file()
确定指定的文件时候已经使用POST方法上传成功。
move_uploaded_file()
将文件从临时目录移动到最终目标
四.使用PEAR包的Http_Upload类
上传接口是getFiles()方法
获取已上传文件的信息getProp();
使用该类来进行文件上传操作就变得十分简单。还可以进行批量操作。
一.php.ini的配置指令
要让服务器支持PHP的上传文件操作,以及对其上传操作做一些设置,需要对php.ini进行相关的设置
它们都位于php.ini文件的 File Uploads 区段
file_uploads = On/off 设置可以上传
upload_max_filesize = 2M 这个值是默认的,单个文件的最大值,还是比较小的,可以适当调大些
max_file_uploads = 20 同一请求内同时上传文件的上限数目,默认为20
upload_tmp_dir = String类型 默认这个值没有设置,用来临时存放上传到服务器的目录
二.操作对象
PHP提供了超级全局变量来存储与通过一个PHP脚本上传到服务器的文件相关的信息
$_FILES数组
1.$_FILES['userfile']['error']
提供与上传尝试结果有关的重要信息
UPLOAD_ERR_OK
UPLOAD_ERR_INI_SIZE
UPLOAD_ERR_FROM_SIZE
等。这个可以查询。
2.$_FILES['userfile']['name']
指定客户端机器上声明的文件的最初名字,含扩展名。
3.$_FILES['userfile']['size']
从客户端上传的文件的大小,单位为字节。
4.$_FILES['userfile']['tmp_name']
上传到服务器后为文件赋予的临时名。这个文件存储在临时目录里。也就是第一部分里提到的upload_tmp_dir
目录下
5.$_FILES['userfile']['type']
上传文件的MIME类型,例如application/pdf之类。在抓包的时候我们经常见到。
三.文件上传函数
is_uploaded_file()
确定指定的文件时候已经使用POST方法上传成功。
move_uploaded_file()
将文件从临时目录移动到最终目标
四.使用PEAR包的Http_Upload类
上传接口是getFiles()方法
获取已上传文件的信息getProp();
使用该类来进行文件上传操作就变得十分简单。还可以进行批量操作。