PHP之上传与下载

上传

客户端设置

  • 客户端使用form表单上传文件,在form表单中必须指明enctype和method属性的值


    post


    

服务端设置

  • php.ini:
file_uploads = On   //默认允许HTTP文件上传,此选项不能设置为OFF
upload_tmp_dir=    //文件上传时存放文件的临时目录
upload_max_filesize = 20M   //设定单个文件上传的大小,必须小于post_max_size
post_max_size = 19M   //允许POST表单的数据最大大小
  • $_FILES:
$_FILES['upload_file']['name']  //带扩展名的原始文件名
$_FILES['upload_file']['size']  //文件大小
$_FILES['upload_file']['tmp_name']  //临时文件名
$_FILES['upload_file']['error']  //上传文件时的错误信息
$_FILES['upload_file']['type']  //上传文件的类型

//type是上传文件时原始信息里的content_type,即MIME,有image/gig、text/html等
//error一般有5中类型:
//0 上传成功
//1 文件大小超过了upload_max_filesize
//2 文件大小超过了表单总MAX_FILE_SIZE设定的值
//3 只有部分被上传
//4 没有上传任何文件
  • 服务端上传步骤
1. 判断uploads这个文件夹存在
2. 判断error的值
3. 判断文件后缀是否合法
4. 判断MIME的类型和子类型是否合法
5. 判断文件大小
6. 对文件进行重命名
7. 移动

下载

对于php无法解析的类型

下载

对于php能解析的文件(同时为了安全性)

 

你可能感兴趣的:(PHP之上传与下载)