PHP的文件上传原理说明

文件上传的基本介绍、应用场景

点击上传时,照片会上传到哪里去?

当我们点击上传后会将图片、文件等上传到服务器上面,并返回图片的地址,这样,我们只需要给其他用户提供该文件的地址即可。

PHP的文件上传原理说明

文件上传的原理说明

文件上传,其实也是通过表单提交的,表单提交的数据分为如下两种:

(1)字节流数据:输入框、单选框、复选框、多行文本域等都是通过字节的数据传输到服务器,服务器通过$_GET  $_POST接收

(2)二进制文件流的形式;当需要提交一些文件的时候,由于文件采用的二进制的形式进行编码,所以需要先将二进制文件转码,然后再提交到服务器

提交的时候,需要通过input type=”file” 文件域上传

服务器接收的时候,通过$_FILES进行接收

注意:如何将表单的数据,以二进制流的形式进行传输,必须在表单form标签增加一个属性:enctype=”multipart/form-data”

先创建表单文件:upload.html

PHP的文件上传原理说明

提交之后,在服务器端接收并打印:

PHP的文件上传原理说明

PHP的文件上传原理说明

MIME类型详解:

多用途internet邮件扩展,mime类型的出现,跟着电子邮件出现的

早期,发送电子邮件的时候,里面可能会附带一些附件,计算机系统根据附件的类型找到对应的设备打开,例如:传输的是视频,就会找到视频播放器去打开,如果传输的是网页文件,那么会自动使用浏览器去打开

MIME类型,包括2个部分:第一个部分是该文件所属的一个大类,第二个部分是文件细节小类,例如:

text/html,属于文本文件,html这样的文本文件

image/jpg,属于图像大类,jpg这种类型的图像

tmp_name详解:

tmp------ temp----temporary,该单词的意思是临时的

文件上传的原理:

当我们点击提交表单时,会将file文件域里面的文件,先上传到临时的目录(可以在php的配置文件中设置),默认的临时目录是c:/windows/temp,如果需要持久的保存,需要通过php的函数move_uploaded_file()移动到指定的位置,如果不移动,当php脚本执行结束,临时文件就会消失

代码演示一下:

由于php脚本执行的太快,为了看到效果,我们让php脚本休眠10秒钟:

PHP的文件上传原理说明

提交表单之后,就会在c:/windows/temp目录下面看到这个临时文件

PHP的文件上传原理说明

为了不让该临时文件消失,我们需要在脚本结束之前,将该临时文件移动到服务器

使用php的move_uploaded_file()函数进行移动的

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/10062.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2018年9月14日 21:41
下一篇 2018年9月15日 10:52

相关推荐

  • PHP入门指南:Xdebug调试工具。

    PHP是一种广泛应用的开源脚本语言,用于开发Web应用程序。Xdebug是一款优秀的PHP调试工具,它提供了很多强大的功能,非常适合用于开发和调试大型Web应用程序。本文将为大家介绍Xdebug的概念和如何使用它来进行PHP代…

    2023年5月22日
    07
  • 重蔚自留地php学习第三十五天——mysql基础1

    文件操作:目录操作,文件操作 目录操作步骤: 准备一个目录(路径) 判断一个路径是否是一个目录 打开目录opendir,返回一个目录资源,包含当前目录下所有的文件 遍历目录资源,循环+readdir,每次获得一个文件名…

    2018年3月26日 PHP自学教程
    0317
  • PHP文件上传类

    为什么要将PHP上传的代码封装类中呢? 因为现在主流的编程思想都是OOP(面向对象编程),那么面向对象编程和面向过程编程的区别是: 面向过程:文件里面的基本单位是函数 面向对象:文件里面基本的单位是类 如何封…

    2018年9月14日 PHP案例操作
    0228
  • PHP入门指南:计算机网络。

    计算机网络是当今掌握互联网技术必备的基础知识之一。PHP作为一种常用于网站开发的脚本语言,也需要深入理解网络知识。本篇文章将带您一步步了解计算机网络的基础知识与PHP的应用。一、计算机网络基础知识网络的概…

    2023年5月22日
    01
  • PHP中如何实现Redis的散列和列表?。

    随着互联网的不断发展和数据量的不断增大,数据存储变得越来越重要。而Redis作为一款高性能的NoSQL数据库,在互联网企业中越来越受欢迎。PHP是一种常用的Web编程语言,而Redis也是一个常用的数据存储方案,因此在PH…

    2023年5月21日
    07
  • PHP8中的新函数:array_key_last()的多种用途。

    随着PHP8的发布,我们迎来了许多新的特性和函数,其中一个重要的新函数就是array_key_last()。这个函数的作用是返回一个数组的最后一个键名。在本文中,我们将介绍array_key_last()的多种用途。第一种用途:删除最…

    2023年5月21日
    02
  • PHP正则表达式常用例子

    "^[0-9]*[1-9][0-9]*$"   //正整数 "^((-\d+)|(0+))$"   //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"   //负整数 "^-?\d+$"     //整数 "^\d+(\.\d+)?$"   //非负浮点数(正浮点数 + 0) "^(([0-…

    2018年3月5日
    0335
  • 我来分享php 文本是怎么保存的。

    PHP文本的保存主要依赖于文件系统,在PHP中,可以使用内置的文件函数来创建、读取、写入和删除文件,这些函数允许我们与服务器上的文件进行交互,从而实现对文本的保存。 我们需要了解PHP中的文件函数,以下是一些…

    2024年6月30日
    05

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息