- 文件上传设置
- 客户端设置
- enctype="multipart/form-data" 指定表单编码方式,告诉服务器传入的是一个文件并带有常规表单信息
- method="post" 指定表单发送数据的方式
- <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 限制上传文件的大小,一般不用这个。
- 服务器端设置php.ini(一下给出的值都是默认值)
- file_uploads = on 确定服务器是否可以接受Http文件上传
- upload_max_filesize=2M 单个文件上传的大小,该值必须小于post_max_size
- post_max_size = 8M post方法可以接受的最大大数据量,上传文件大小+常规表单数据大小
- upload_tmp_dir = NULL 上传文件临时存放的路径,默认值null则为系统的临时文件夹
- 客户端设置
- 表单提交给服务器的数据可以通过$_POST,$_GET,$_REQUEST接收。
- 上传文件成功后,首先将存储服务器指定的临时目录中,同时在php 脚本中就会获取一个$_FILES全局数组,$_FILES数组中的第二维共有五项
- $_FILES["myfile"]["name"]源文件名称,包含扩展名
- $_FILES["myfile"]["size"]已上传文件的大小,单位字节
- $_FILES["myfile"]["tmp_name"]存放在临时目录中的临时文件名称
- $_FILES["myfile"]["error']伴随文件上传产生的错误信息
- 0:表示没有错误上传成功
- 1:表示上传文件超出了在php配置的upload_max_fileszie选项限制的大小
- 2:表示上传文件超出了html表单中MAX_FILE_SIZE选项指定的大小
- 3:表示文件被部分上传
- 4:表示没有上传任何文件
- 以及一些很少发生的错误
- $_FILES["myfile"]["type"] 获取客户端上传到MIME类型,“主类型/子类型组成,如“image/gif”
- myfile 指的是<input type='file' name="myfile">
- 上传文件用到的函数以及操作
- 获取上传文件的后缀
- 方法一:$hz = array_pop(explode('.',$_FILES['myfile']['name']))
- 方法二:list($main_type,$sub_type) = explode("/",$_FILES["myfile"]["type"]);
- bool is_upload_file($_FILES["myfile"]["temp_name"])必须传入$_FILES['myfile']['temp_name']
- bool move_upload_file(源,目的)
- 获取上传文件的后缀
- ==============
- 文件的下载
- $filename = "test.gif";
- header("Content-Type:image.gif");//指定下载文件的MIME类型
- header('Content-diposition:attachment; filename="' .$filename'"');//指定下载文件的描述
- header('Content-Length:'.filesize($filename));//指定下载文件的大小
- readfile($filename);//将文件内容直接输出,以便下载