广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP---文件上传
  • 946
分享到

PHP---文件上传

服务器运维php 2023-09-03 08:09:01 946人浏览 八月长安
摘要

目录 一、文件上传的概念 二、文件上传的步骤 (1)表单的制作 三、$_FILES详解 (1)name (2)tmp_name (3)type (4)error (5)size  四、移动临时文件到目标位置  五、多文件上传 (1)同名表单

目录

一、文件上传的概念

二、文件上传的步骤

(1)表单的制作

三、$_FILES详解

(1)name

(2)tmp_name

(3)type

(4)error

(5)size

 四、移动临时文件到目标位置

 五、多文件上传

(1)同名表单

 1:同名文件的数据结构

 2:同名文件的处理方式

(2)不同文件名

 1:不同文件名的数据结构

 2:不同文件名的处理方式


一、文件上传的概念

文件上传就是文件从用户本地电脑通过传输方式(WEB表单)保存到服务器所在电脑指定的目录下。
那么文件上传的原理是什么呢?
用户通过文件上传的表单从本地选择文件上传到服务器,服务器操作系统会将文件保存到临时文件夹中,注意是临时文件夹中,然后服务器开始工作,先判断文件是否有效,然后服务器脚本将有效文件从临时文件夹移动到指定目录下

二、文件上传的步骤

(1)表单的制作

1:method属性:表单提交方式必须为post
2:enctype属性:fORM表单属性,主要是规范表单数据的编码方式
在文件上传时,必须等于的值为multipart/form_data
3:上传表单:file表单 

 

    

三、$_FILES详解

在接收到上传的文件后,服务器端如何接受呢,这就要说到预定义变量$_FILES,它是专门用来存储用户上传的文件的。要注意上传的文件并不是$_POST接收的,而是$_FILES。同时使用$_FILES接受后他会有六个属性,如下图所示。

 第一个[wenjian]就是上传文件的name值,后面的name,full_path,type,tmp_name,error,size便是说的属性

(1)name

文件在(浏览器端)用户电脑上的名字。(实际用来看文件的后缀)

(2)tmp_name

文件上传到服务器上操作系统保存到临时路径(实际用来给PHP后期使用)

(3)type

MIME(多功能互联网邮件扩展)类型,用来在计算机客户端识别文件类型,就是比如说一个文件用什么打开,用word打开还是记事本等等。 (实际用来判断给什么软件使用)

(4)error

文件上传的代号,用来告知应用软件(PHP)文件接收过程中出现了什么问题。如:
值=0,没有错误发生,文件上传成功
值=1,上传的文件超过了php.in中upload max filesize选项限制的值
值=2,上传的文件大小超过了html表单中MAX_FILE_SIZE选项指定的值
值=3,文件只有部分被上传
值=4,没有文件被上传


值=6,找不到临时文件夹,也就是说操作系统对应的临时文件夹不存在
值=7,文件写入失败,也就是说PHP没有权限将临时文件夹移动到
指定目录

 

 (实际用来PHP后期根据代码进行文件判断)

(5)size

文件大小(实际用来判断文件是否保留) 

 四、移动临时文件到目标位置

临时文件移动到目标位置主要分为两步
(1)判断是否是上传的文件is_uploaded_file()
(2)移动文件move_uploaded_file()

 既然想要移动文件,首先我们得获取文件信息,$_FILES['name']可以获取文件,其中的name是表单中的name属性值,获取后我们便需要判断文件是否是上传文件,即is_uploaded_file($_FILES['name']['tmp_name'])需要获得临时路径来判断。

move_uploaded_file($_FILES['name']['tmp_name'],指定路径),他们都有一个返回值,即是否成功,成功为true,否则为false。

 

    

 五、多文件上传

多文件上传顾名思义就是上传多个图片,而上传多个图片又分为同名表单和批量解决问题
在具体的实例中

同名表单:当商品需要上传多个图片进行展示的时候,如上传的是同一个物品的不同角度,这时候就用到[]就行。

批量解决问题:取得name属性都不一样

(1)同名表单

             1:同名文件的数据结构

 

';   print_r($_FILES);?>
    

 同名表单将名字形成一个数组,而且同时将文件对应的五个要素:name,tmp_name,size,type,error都形成对应数量的数组,每个文件上传对应数组元素的下标都是一样的,如:name[0]和tmp_name[0]都属于同一个文件。

           2:同名文件的处理方式

';   //先判断文件是否存在并且是不是数组即是不是同名文件   if(isset($_FILES['image']['name'])&&is_array($_FILES['image']['name'])){   $images=array();   foreach($_FILES['image']['name'] as $k=>$file){   //这个k就相当于数字下标   $images[]=array(   'name'=>$file,   'tmp_name'=>$_FILES['image']['tmp_name'][$k],   'type'=>$_FILES['image']['type'][$k],   'error'=>$_FILES['image']['error'][$k],   'size'=>$_FILES['image']['size'][$k]   );   }   }   print_r($images);   //开始遍历数组一个一个保存   foreach($images as $f){   if(is_uploaded_file($f['tmp_name'])){   move_uploaded_file($f['tmp_name'],'upload/'.$f['name']);   }   }?>

 

(2)不同文件名

          1:不同文件名的数据结构

    
';   print_r($_FILES);?>

 批量上传:不同名表单每个文件都会形成一个属于自己独立的5个元素的数组

            2:不同文件名的处理方式

来源地址:https://blog.csdn.net/gaoqiandr/article/details/128513107

--结束END--

本文标题: PHP---文件上传

本文链接: https://www.lsjlt.com/news/391864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP---文件上传
    目录 一、文件上传的概念 二、文件上传的步骤 (1)表单的制作 三、$_FILES详解 (1)name (2)tmp_name (3)type (4)error (5)size  四、移动临时文件到目标位置  五、多文件上传 (1)同名表单...
    99+
    2023-09-03
    服务器 运维 php
  • php如何上传文件
    这篇文章主要介绍php如何上传文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类...
    99+
    2023-06-14
  • 如何上传php文件
    这篇文章给大家分享的是有关如何上传php文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php文件上传的步骤:首先创建一个文件上传表单;然后创建上传脚本“upload_file.php”文件;接着设置对文件上传...
    99+
    2023-06-14
  • PHP文件上传漏洞
    前言  上礼拜一直在搞期中测试和unctf,没啥时间整理,这礼拜继续整理! PHP文件上传基础以及基本上传流程 文件上传前端:  前端部分往往都是表单提交,input 的 type 设置为 file ...
    99+
    2023-09-15
    php 开发语言 前端
  • PHP实现文件上传
    上传文件的必备三个条件: 上传到后台的文件 method = "post";(不可以为get方法) enctype = "multipart/form-data";(注意哦,是data,不是date) 三者缺一不可 后台PHP的$_FIL...
    99+
    2023-09-02
    php 服务器 开发语言
  • php如何上传pdf文件
    这篇文章主要介绍“php如何上传pdf文件”,在日常操作中,相信很多人在php如何上传pdf文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何上传pdf文件”的疑惑...
    99+
    2022-10-19
  • php如何实现文件夹上传文件
    这篇“php如何实现文件夹上传文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现文件夹上传文件”文章吧。一、什...
    99+
    2023-07-05
  • php上传中文文件无法上传问题怎么解决
    php上传中文文件无法上传的解决办法:1、通过“iconv("GBK", "UTF-8", $content);”方法将中文字符编码转换一下;2、将文件重命名即可。本教程操作环境:Windo...
    99+
    2023-05-14
    php 文件
  • PHP如何上传文件代码
    这篇文章将为大家详细讲解有关PHP如何上传文件代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最主要的两个函数是move_uploade_file(临时文件,目标位置和文件名)和is_uploaded_...
    99+
    2023-06-17
  • PHP-nginx-ctfShow文件上传漏洞
    CTFSHOW-文件上传-151到161关卡 151 152-JS验证+MIME Content-Type: image/png 153-JS验证+user.ini https://www.cnblogs.com/N...
    99+
    2023-10-05
    php nginx 安全
  • PHP中的文件上传安全
    随着 Internet 的发展,文件上传功能已经成为了几乎所有 Web 应用程序的标准功能之一。在 PHP 中,文件上传功能是通过 $_FILES 超全局变量来实现的。然而,文件上传功能往往也是 Web 应用程序中最容易出现安全问题的地方。...
    99+
    2023-05-23
    PHP上传文件 文件安全 后端上传
  • php文件上传插件如何使用
    要使用PHP文件上传插件,您需要按照以下步骤进行操作:1. 下载插件:首先,您需要从互联网上下载一个PHP文件上传插件。一些常见的插...
    99+
    2023-10-18
    php
  • SpringMVC 单文件上传与多文件上传实例
    一、简述一个javaWeb项目中,文件上传功能几乎是必不可少的,本人在项目开发中也时常会遇到,以前也没怎么去理它,今天有空学习了一下这方面的知识,于是便将本人学到的SpringMVC中单文件与多文件上传这部分知识做下笔记。二、单文件上传1、...
    99+
    2023-05-31
    springmvc 文件上传 多文件上传
  • ThinkPHP6 文件上传
    内置文件上传使用\think\facade\Filesystem类封装方法 目录 简单上传 public存储文件  文件验证 命名规则 使用sha1 使用MD5 使用date 指定文件名称 自定义命名规则 更多上传设置 总结   ...
    99+
    2023-09-14
    php thinkPHP 文件上传
  • PHP上传文件的使用方法
    本篇内容介绍了“PHP上传文件的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP 4.0.3之后PHP又出了一个新函数move_...
    99+
    2023-06-17
  • 如何使文件PHP上传生效
    本篇文章为大家展示了如何使文件PHP上传生效,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。PHP是一种用于创...
    99+
    2023-06-17
  • PHP如何通过CURL上传文件
    PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变量$_FILES中取到相应的上传文件信息...
    99+
    2023-09-01
    php 服务器 开发语言
  • php多文件上传怎么处理
    在 PHP 中处理多文件上传可以使用 $_FILES 超全局变量来获取上传文件的信息。首先,需要在表单中设置 enctype="mu...
    99+
    2023-10-12
    php
  • php上传文件为什么失败
    这篇文章主要介绍了php上传文件为什么失败,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文件限制调的太小:upload_max_filesi...
    99+
    2022-10-19
  • 详解PHP使用OSS上传文件
    目录一、安装阿里云 oss sdk二、使用1、获取 OSS AccessKeyId、AccessKeySecret2、简易上传 Html 处理3、控制器处理 OssImageCont...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作