文件的上传

1.html标签需要做的上传设置

1) form标签属性设置

1>method设置为post

2>enctype设置为multipart/form-data

3>form表单中设置隐藏类型的input,其中name值设置为MAX_FILE_SIZE,VALUE值设置为需要限制的上传文件的大小(单位为字节)

2.在服务器端通过PHP处理上传文件,涉及到下面的几条信息

1)与上传有关的 php配置选项(php.ini)

配置项 可能值 功能描述

file_uploads ON 确定服务器上的PHP脚本是否可以接受HTTP文件上传

memory_limit 8M 设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存

upload_max_filesize 2M 限制PHP处理上传文件的最大值,此值必须小于post_max_size值

post_max_size 8M 限制通过POST方法可以接受的信息最大量

upload_tmp_dir F:/wamp/tmp 上传文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。

2)$_FILES多维数组:用于存储各种与上传有关的信息

数组$_FILES中第一个名字为input中的name属性的值

$_FILES['myfile']['name'] 客户端机器文件的原名称,包含扩展名

$_FILES['myfile']['size'] 已上传文件的大小,单位为字节

$_FILES['myfile']['tmp_name'] 文件上传之后,在服务器端存储的临时文件名

$_FILES['myfile']['error'] 文件上传时产生的错误

0:表示没有发生任何错误,文件上传成功

1:表示上传文件的大小超出了再PHP配置文件中upload_max_filesize选项限制的值

2:表示上传文件大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值

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

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

$_FILES['file']['type'] 获取客户端上传文件的MIME类型,MIME类型规定了各种文件格式的类型。每种MIME类型都是由/分隔的主类型和子类型组成

3)PHP的文件上传处理函数:用于上传文件的后续处理

1>is_uploaded_file(string $filename)判断指定的文件是否通过HTTP POST上传的,必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量

2>move_uploaded_file(string $filename,string $destination)

本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

文件的下载

1)发送指定的文件MIME类型的头信息

header('Content-type:MIME类型');

MIME类型的获取需要用到扩展函数fileinfo()

先创建一个fileinfo资源;$finfo=finfo_open(FILEINFO_MIME_TYPE)

返回一个指定的文件信息:finfo_file($finfo,$file_name)($file_name为要检查的文件名)

关闭一个fileinfo资源:finfo_close($finfo)

2)指定下载文件的描述

header('Content-Disposition:attachement;filename=文件名称');

3)指定下载文件的大小

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

4)向输出缓冲区输出下载文件的内容

readfile($filename,include_path=0):读取一个文件,并把文件内容写入到输出缓冲

如果成功,该函数返回从文件中读入的字节数

如果失败,该函数返回FALSE并附带错误信息

该方法只能打开一个已经存在的文件,也就是说只能下载服务器上已经存在的文件

file_put_contents('php://output', $file_data);

如果成功,返回写入文件中的字符数。如果失败,则返回False。

该方法可以把数据直接下载成文件

如果下载的是文本文件且编码为utf-8,文件头前需添加BOM,不然在windows上打开会乱码

$file_data=chr(0xEF).chr(0xBB).chr(0xBF).$file_data

最后编辑:2020-10-16作者:qingheluo

这个作者貌似有点懒,什么都没有留下。

php中upload函数,PHP中文件的上传和下载常用函数相关推荐

  1. nginx java文件上传_Nginx实现文件的上传和下载

    文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { listen ; ...

  2. 用WebClinet实现SharePoint上文档库中文件的上传与下载

    微软的SharePoint 提供了强大的文档管理功能,能够创建各种类型的文档库,并对文档进行相应的管理.所以我们的产品也打算将文件用SharePoint来管理,实现文档的共享访问.于是,就产生了用客户 ...

  3. Akka实战:HTTP大文件断点上传、下载,秒传

    2019独角兽企业重金招聘Python工程师标准>>> 访问:https://github.com/yangbajing/scala-applications/tree/master ...

  4. C# 实现FTP文件的上传和下载

    C# 实现FTP文件的上传和下载 任务 任务:在Visual Studio中用C#语言实现对ftp服务器上文件的上传和下载. 现状:初步了解c#语法,对库一无所知 解决:copy别人代码 https: ...

  5. SpringMVC实现文件的上传和下载

    SpringMVC实现文件的上传和下载http://www.bieryun.com/1120.html 前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的 ...

  6. 初学Java Web(7)——文件的上传和下载

    文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...

  7. SpringMVC实现文件的上传与下载

    文件的上传与下载可以说是工作中经常使用的功能,现在整理一下,希望能够给大家一个参考.这里以 Maven 的形式来创建项目,相关的配置文件会把主要的内容列出来,其他头文件信息不再一一全部的列出.最后会把 ...

  8. java实现ftp文件的上传与下载

    最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...

  9. 文件的上传和下载---学习笔记

    文件上传原理 在TCP/IP中,最早出现的文件上传机制是FTP.它是将文件由客户端发送到服务器的标准机制. 但是JSP编程中不能使用FTP方法来上传文件,这是由JSP运行机制所决定的. JSP中上传文 ...

最新文章

  1. 介绍 WebLogic 的一些结构和特点
  2. JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始
  3. 单片机如何使用振动传感器801s_振动传感器如何跟踪测量机器的健康状况
  4. web 开发之js---js 中的数组操作
  5. 为何去银行存款的人越来越少,但是银行的存款却在增加?
  6. BugkuCTF-MISC题split
  7. 2020-2021家居行业年度盘点与趋势洞察
  8. 清理垃圾代码bat_电脑一键清理垃圾图文详解
  9. 0227网页提取技术
  10. JSON.parse()、eval()、JSON.stringify()、jQuery.parseJSON()的用法
  11. install opencv from source
  12. MySQL8.0.11的安装和Navicat连接mysql
  13. LVM 逻辑卷管理(实战篇)
  14. 联想H61主板BIOS刷新(启天M7100系列)
  15. HealthKit 的新增功能
  16. Java去掉红色印章,基于RGB和HSV实现红色公章删除
  17. (已修正精度 1mm左右)Realsense d435i深度相机+Aruco+棋盘格+OpenCV手眼标定全过程记录
  18. “缓冲区溢出攻击”原理分析及实例演示
  19. 实时渲染学习(三)图形渲染与视觉外观
  20. [R] DataFrame的增删改查

热门文章

  1. 图与图算法在实际中的应用
  2. switch 关键字的学习
  3. Spark 基础——RDD 算子
  4. python学了真的很有用吗-学习Python真的有必要参加培训吗?老男孩Python学习机构...
  5. python课程网课-有没有简单易懂的入门级Python辅导书或网络课程?
  6. python培训班靠谱吗-Python培训班多少钱
  7. python有趣的代码-盘点10个一行强大的、有趣的Python源代码
  8. 简单python脚本实例-终于晓得python入门脚本实例
  9. 如何系统的自学python-如何系统地自学Python
  10. python编程入门-Python 基础教程