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

相关推荐

  • 今日分享phpstorm快速生成html页面。

    在PHP中生成HTML内容是一种非常常见的操作,这通常涉及将动态数据嵌入到HTML模板中,从而创建动态的网页内容,下面是一些基础步骤和技巧来帮助你使用PHP生成HTML。 (图片来源网络,侵删) 1. PHP基础 确保你有一个…

    2024年6月21日
    01
  • PHP中使用Redis实现分布式定时任务

    Redis是一种高性能的内存数据库,它具有快速的读写速度、支持一定级别的持久性和丰富的数据类型等优点。Redis常被用于缓存、消息队列、实时排行榜等场景。在开发中,我们有时会需要实现分布式的定时任务,比如:发…

    2023年5月19日
    01
  • php上传多张图片时,选择图片后即可预览的问题

    这几天一直在解决一个问题,上传图片时选择成功后就能预览。需求:在点击上传图标的时候会在前面的input框中显示出文件名,然后点击后面的查看按钮就可以预览选择的这张图片了,要求不能刷新页面1.一开始的时候打算…

    2022年6月12日
    0242
  • 了解PHP中的Trait 特性及作用

    自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。Traits 是一种为类似 PHP 的单继承语言而准备的代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复…

    2022年6月16日
    0132
  • 学习php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 代码如下:<?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$ind…

    2022年6月12日
    0120
  • 如何利用PHP实现商城的二次购买系统。

    随着电子商务的不断发展,越来越多的零售企业开始转向线上销售。然而,电子商务也带来了新的问题:如何留住老客户?如何增加重复销售的频率?这就是为什么有必要对商城进行二次购买系统的实现。在本文中,我们将介…

    2023年5月28日
    02
  • PHP入门指南:什么是PHP。

    PHP (Hypertext Preprocessor),译为超文本预处理器,是一种开放源代码的服务器端脚本语言。由于其简单易学、功能强大,PHP 成为了互联网开发的首选语言之一。本文将介绍PHP的历史背景、基础语法、常见应用及学习…

    2023年5月23日
    00
  • 详解使用php-imap查询操作邮件收件箱

    本篇文章带大家介绍使用php-imap查询操作邮件收件箱。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。使用php-imap查询操作邮件收件箱最近在业务场景里有接收解析用户主动发送的邮件,使用php-i…

    2023年3月29日
    05

联系我们

QQ:951076433

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