【php】文件的上传与下载
一、 生活中常见的地方:
a) 例如邮箱、空间、文库、百度云、微爱等地方,都可以看到文件的上传和下载的应用,因此,上传和下载的功能非常重要!
二、 PHP当中的文件上传和下载
a) 我们需要进行一些设置,来使我们的表单具有提交文件的功能!
b) 客户端的设置:
i. 其实就是表单的设置:
1. input表单项中的type属性值必须是file类型
2. form表单头部需要添加一个通行证:enctype="multipart/form-data",含义为让服务器认识到我们要在这个表单中上传文件了!
3. 上传方式必须是POST方式,否则无法上传
ii. 在php脚本获取上传文件信息的方式:
1. $_FILES可以获取存储到数组中的文件信息
c) 服务器端的设置:
i. 其实就是用来过滤用户上传的文件的,并不是所有文件用户都能往服务器提交,必须经过php脚本的处理之后,才可以提交!搜索 file_uploads 在php.ini当中
1. 开启允许提交文件的按钮:【php.ini当中】file_uploads = On
2. 文件上传到服务器的临时存储目录:
upload_tmp_dir ="D:/Wamp/tmp"
3. 服务器允许上传的文件最大大小:
upload_max_filesize = 2M
4. 服务器允许上传的最大文件数量:
max_file_uploads = 20
5. 表单所允许的最大上传数据大小:
post_max_size = 8M
d) 上传文件的数据格式:

i. pic:代表了form表单中input表单项的名字
ii. name:文件的名称
iii. type:文件的类型
iv. tmp_name:临时存储的文件名
v. error:错误号:0,1,2,3,4,6,7,没一个错误号都代表了一种上传中遇到的情况
1. 0:表示没有发生任何错误
2. 1:表示上传文件的大小超出了约定值。
3. 2:表示上传文件大小超出了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值
4. 3:表示文件只被部分上传
5. 4:表示没有上传任何文件
6. 6:表示找不到临时文件夹。
7. 7:表示文件写入失败
vi. Size:上传文件的大小
e) 关于文件上传的函数:
i. Move_uploaded_file(临时文件名,新的文件名【含路径】);移动临时文件到指定的目录当中
ii. Is_uploaded_file(临时文件名):判断临时文件是不是一个有效的上传文件
【php】文件的上传与下载的更多相关文章
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
- 在SpringMVC框架下实现文件的 上传和 下载
在eclipse中的javaEE环境下:导入必要的架包 web.xml的配置文件: <?xml version="1.0" encoding="UTF-8" ...
- SecureCRT使用sz和rz命令进行文件的上传和下载
SecureCRT可以使用sz和rz命令进行文件的上传和下载. sz文件下载: 格式:sz 文件名称 即可将服务器的文件下载至本地. rz文件上传: 格式:rz 文件名称 即可将本地文件上传至服务器. ...
- 使用FTPClient进行文件服务器内文件的上传和下载
我用的FTPClient是由Apache组织的commons-net.jar包中的API,这个包用起来非常的方便,很容易上手.我在项目开发的过程中主要用到了文件的上传和下载功能,下面将我开发的代码贴出 ...
- iOS开发中文件的上传和下载功能的基本实现-备用
感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...
- Apache FtpServer 实现文件的上传和下载
1 下载需要的jar包 Ftp服务器实现文件的上传和下载,主要依赖jar包为: 2 搭建ftp服务器 参考Windows 上搭建Apache FtpServer,搭建ftp服务器 3 主要代码 在ec ...
- 初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
- java web(四):request、response一些用法和文件的上传和下载
上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...
- 黏包-黏包的成因、解决方式及struct模块初识、文件的上传和下载
黏包: 同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接收到之前执行的另外一部分结果,这种显现就是黏包. 只有TCP协议中才会产生黏包,UDP协议中不会有黏包(udp协议中数 ...
- 步步为营-70-asp.net简单练习(文件的上传和下载)
大文件的上传一般通过FTP协议,而一般小的文件可以通过http协议来完成 1 通过asp.net 完成图片的上传 1.1 创建html页面 注意:1 method="post" ; ...
随机推荐
- SpringBoot+AOP构建多数据源的切换实践
针对微服务架构中常用的设计模块,通常我们都会需要使用到druid作为我们的数据连接池,当架构发生扩展的时候 ,通常面对的数据存储服务器也会渐渐增加,从原本的单库架构逐渐扩展为复杂的多库架构. 当在业务 ...
- 取url地址参数
let url = 'https://i-beta.cnblogs.com/posts/edit?param1=123¶m2=second'let arr = url.split('& ...
- js 实现简易留言板功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- span(行级元素)在不定高的div(块级元素)中垂直居中的方法
设置父级元素: align-items: center; display: flex;
- 曹工杂谈:花了两天时间,写了一个netty实现的http客户端,支持同步转异步和连接池(1)--核心逻辑讲解
背景 先说下写这个的目的,其实是好奇,dubbo是怎么实现同步转异步的,然后了解到,其依赖了请求中携带的请求id来完成这个连接复用:然后我又发现,redisson这个redis客户端,底层也是用的ne ...
- node.js中http.respone.end方法概述
方法说明: 结束响应,告诉客户端所有消息已经发送.当所有要返回的内容发送完毕时,该函数必须被调用一次. 如果不调用该函数,客户端将永远处于等待状态. 语法: response.end([data], ...
- java第二节课课后
动手动脑问题 : 程序源代码: //MethodOverload.java //Using overloaded methods public class MethodOverload { publi ...
- 使用JDBC工具类模拟登陆验证-Java(新手)
模拟登陆验证: package JdbcDome; import java.sql.Connection; import java.sql.PreparedStatement; import java ...
- JAVA 转换 树结构数据
JAVA 转换 树结构数据 第一步:引入fastjson <dependency> <groupId>com.alibaba</groupId> <artif ...
- jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(一)
注:这部分的学习还是要靠自己多点点 多尝试尝试 这部分19年3月份我是玩的很溜的,一年没用,基本忘光光了. 学习要温故而知新! 流程拓扑图 前提准备 部署应用服务 部署kubernetes 集群:ht ...