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 的错误机制详解

    PHP 的错误机制也是非常复杂的,特别说明:文章的PHP版本使用5.5.32 PHP的错误级别 首先需要了解php有哪些错误。截至到php5.5,一共有16个错误级别 注意:尝试下面的代码的时候请确保打开error_log: error_reporting…

    2017年5月25日
    0296
  • 关于php 返回。

    在Web开发中,PHP是一种广泛使用的服务器端脚本语言,用于处理动态内容和与数据库交互,HTML是一种标记语言,用于创建网页的结构,在许多情况下,我们需要将PHP生成的数据格式化为HTML,以便在网页上显示,本教程将…

    2024年6月24日
    04
  • 在PHP中使用机器学习的最佳实践。

    随着互联网和人工智能的发展,机器学习的需求不断增加,而PHP语言作为网络应用开发的主要语言之一,在机器学习的应用中也起到了不可替代的作用。但是PHP作为一种脚本语言,其性能相对较差,而机器学习操作需要大量…

    2023年5月30日
    04
  • php类的对象及成员属性

    类的定义 class  类名{    访问修饰符 成员属性1;    访问修饰符 成员属性2;    //..... } 成员属性 文档说明: 类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。属性声明是由关键字 publi…

    2018年4月9日
    0227
  • PHP中的OOP编程实践。

    随着互联网的发展,PHP作为一种非常流行的服务器端编程语言,成为了很多Web开发人员的首选。随着技术的发展和语言本身的改进,越来越多的PHP开发者开始采用面向对象编程(OOP)的方式来进行开发。在本文中,我们将…

    2023年5月28日
    01
  • 记录一次PHP优化案例

    记一次PHP优化案例网站架构简介:现在很多的企业都是使用lnmp或者lamp来做企业的网站服务器架构,这两种网站的服务架构,我们都是比较熟悉的;基于nginx的性能优于Apache,现阶段的很多公司,都是逐渐把Apache替换…

    2022年6月27日
    097
  • PHP如何自定义的 printf 函数

    大家都知道 libc 的 printf() 及其家族。本章节将详细介绍 PHP 声明和使用的许多克隆,它们的目标是什么,为什么使用它们,以及何时使用它们。你知道这些函数很有用,但有时无法提供足够的功能。另外,你知道向 pri…

    2022年6月12日
    0162
  • PHP如何实现微信小程序的数据统计。

    随着微信小程序的普及,越来越多的企业和开发者开始使用微信小程序来提供服务。因此,对于开发者来说,了解微信小程序的数据统计非常重要。本文将介绍如何使用PHP开发微信小程序的数据统计。一、了解微信小程序的数…

    2023年6月3日
    03

联系我们

QQ:951076433

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