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字符串连接符

    说明:通过(.)或(.=)进行字符串的拼接 //字符串连接符 $name = 'admin'; echo '您好!'.$name.'重蔚自留地'; echo '您好!.$name重蔚自留地'; echo ' '; //.=:链接后再赋值 $user = 'admin'; $user .= '888'; //相当…

    2017年12月7日
    0244
  • 重蔚php学习第二十九天——php文件载入的原理

    我们通常会在a文件中载入b文件,它的原理其实是:是在a文件载入b文件代码处插入b文件的源代码。而不是去b文件执行。 例1: 文件a 文件b 第二个文件有语法错误,属于编译错误,编译错误会影响整个文件的执行,但我们…

    2017年10月5日 PHP自学教程
    0278
  • PHP数据库操作:memcache用法分析(附代码)

    memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到…

    2018年3月19日
    0180
  • PHP中的视频转码和转换技术指南。

    PHP是一种常用的服务器端编程语言。在开发网站和应用程序时,有时需要对视频进行转码或转换,以便于在不同设备和平台上播放。本文将介绍PHP中的几种视频转码和转换技术,以供参考。一、FFmpegFFmpeg是一个开源的视…

    2023年5月30日
    08
  • 如何在PHP中设计框架。

    随着互联网的不断发展,PHP作为一种重要的编程语言应用也越来越广泛。而当我们要开发大型的Web应用程序时,一种好的框架设计就显得非常重要。一个好的PHP框架应该具有以下几个特点:可扩展性:在开发过程中,需求总…

    2023年5月23日
    00
  • PHP8函数:get_debug_type()的用途详解。

    PHP8是PHP语言的最新版本。这个版本新增了很多强大的功能和改进,在解释器性能、类型系统和错误处理方面有很多进展。其中一个非常实用的新功能是get_debug_type()函数。它可以方便地获取表达式的类型信息,这个函数…

    2023年5月21日
    01
  • PHP中如何进行Kubernetes技术的应用?

    随着云计算和容器化技术的飞速发展,Kubernetes已成为当今最主流的云原生应用程序管理平台。在Kubernetes的世界里,PHP这样的Web编程语言也能够轻松地进行应用。本文将介绍如何在PHP应用中使用Kubernetes技术,让你…

    2023年5月17日
    04
  • 如何用PHP实现微信支付对账单查询

    随着移动支付的流行,微信支付成为了一个不可忽视的支付方式。作为开发人员,在使用微信支付时,对账单查询是必不可少的环节。本文将介绍如何利用PHP语言实现微信支付对账单的查询。获取微信支付账号信息在使用微信…

    2023年5月18日
    02

联系我们

QQ:951076433

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