首页  >  文章  >  后端开发  >  php接收上传文件信息的系统数组是哪个

php接收上传文件信息的系统数组是哪个

WBOY
WBOY原创
2023-05-06 10:43:07756浏览

PHP 接收上传文件信息的系统数组是 $_FILES。

在 PHP 中,我们经常需要处理文件上传,例如上传图片、视频等文件。为了处理上传过程中的相关信息和数据,PHP 提供了一个特殊的系统数组 $_FILES,用来存储上传的文件信息。

$_FILES 变量是一个二维关联数组,其结构如下:

$_FILES = array(
    'file' => array(
        'name' => 'filename.txt',             //文件名
        'type' => 'text/plain',               //文件MIME类型
        'tmp_name' => '/tmp/php/php1h4jCk',   //上传的临时文件名
        'error' => 0,                         //上传的错误代码
        'size' => 123                           //上传文件的大小
   )
);

其中,数组中的 "file" 是表单元素的名称,例如下面的HTML代码:

<form enctype="multipart/form-data" method="POST">
    <input type="file" name="file"/>
</form>

在这个表单中,"file" 就是表单元素的名称。

在 $_FILES 中,具体存储的信息包括:

  • name:上传的文件名。
  • type:上传文件的 MIME 类型。
  • tmp_name:上传的临时文件名,存储在服务器端的临时目录中。
  • error:上传文件的错误代码,如果为0则表示上传成功。
  • size:上传文件的大小。

下面是 $_FILES 中各个字段的含义:

  • name

上传文件的原始文件名,不包括文件路径。如果一个文件上传时,文件名被修改了,则这个变量存储的是新的文件名。

  • type

上传文件的 MIME 类型,即文件的内容类型,例如 text/plain、application/octet-stream 等。

  • tmp_name

上传文件的临时文件名,以及存放这个临时文件的路径。这个路径是服务器端的临时目录。

  • error

上传文件的错误代码。如果上传成功,这个值为 0。其他可能的值包括:

- UPLOAD_ERR_OK:文件上传成功。
- UPLOAD_ERR_INI_SIZE:上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值。
- UPLOAD_ERR_FORM_SIZE:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
- UPLOAD_ERR_PARTIAL:文件只有部分被上传。
- UPLOAD_ERR_NO_FILE:没有文件被上传。
- UPLOAD_ERR_CANT_WRITE:写入磁盘失败。
- UPLOAD_ERR_EXTENSION:PHP扩展停止文件上传。
  • size

上传文件的大小,以字节为单位。

使用 $_FILES 变量的示例:

如果我们要一个表单中上传一个图片,我们可以使用以下 HTML 代码:

<form enctype="multipart/form-data" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    <input type="file" name="image" />
    <input type="submit" name="submit" value="Upload Image" />
</form>

在服务器端,我们可以使用以下 PHP 代码来处理上传文件:

<?php
if(isset($_POST['submit']))
{
    $file = $_FILES['image'];
    $filename = $file['name'];
    $filetmp = $file['tmp_name'];
    $filesize = $file['size'];
    $filetype = $file['type'];

    // TODO: 处理上传文件

    move_uploaded_file($filetmp, "uploads/" . $filename);
}
?>

在处理上传文件时,我们首先检查提交的表单是否包含了 "submit" 字段,这是为了避免在没有提交表单的情况下处理上传文件的错误。

我们首先从 $_FILES 变量中获取文件信息,并定义变量 $filename、$filetmp、$filesize、$filetype,分别存储文件名、上传文件的临时文件名、文件大小和MIME类型。

接下来,我们可以使用 PHP 函数 move_uploaded_file() 函数,把上传的文件从临时目录移动到我们存储文件的指定目录中,例如上面例子中的 "uploads/" 目录。

总结:

$_FILES 是 PHP 中处理文件上传的关键变量,它包含了上传文件的各种信息,包括文件名、MIME类型、上传临时文件名、大小等等。在使用 $_FILES 时,我们需要注意表单提交的时机、处理上传文件的逻辑,以及上传文件的存储方式等。

以上是php接收上传文件信息的系统数组是哪个的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn