文件的的上传和下载

  • 文件上传设置
    • 客户端设置
      • 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);//将文件内容直接输出,以便下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值