文件上传和下载


一、 php.ini的配置信息

file_uploads = On /Off   是否允许文件上传

upload_max_filesize=2M 上传的文件的最大大小

upload_tmp_dir           上传文件放置的临时目录

        max_file_uploads = 20    允许上文件的数量

         post_max_size = 8M       POST数据所允许的最大大小

注意配置:upload_max_filesize的大小一定要小于post_max_size的配置大小。

二、(发送客户端)上传的form表单:

1、 表单必须是post提交

2、 上传的类型:enctype="multipart/form-data"

3、上传使用的表单项

4.(可选)上传大小限制的表单隐藏域:MAX_FILE_SIZE,

注意:此字段必须在文件输入字段之前(常放在form标签后面)

三、(接收服务器端):

1. 使用$_FILES全局数组来接收上传信息

    在每个上传的文件里,$_FILES中都会有5个属性:

error:上传的错误号:0--4

0:表示没有发生任何错误。

1:上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

2:表示上传文件大小超出了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值。

3:表示文件只被部分上传。

4:表示没有上传任何文件。

6:找不到临时文件夹

7:文件写入失败

name:上传的文件名

size:文件的大小

type:文件类型

tmp_name: 临时文件


2:is_uploaded_file() //是否是上传文件

3:move_uploaded_file() //执行移动上传文件

四、 下载设置:

header("Content-Type:类型"); //指定响应类型

header("Content-Disposition:attachment;filename=文件名"); //执行下载文件名

header("Content-Length:文件大小");

        readfile("./uploads/".$picname); //读取并输出图片内容;