在PHP中,$files是一个预定义数组,用于存储上传文件的信息。当一个表单中包含文件上传字段并且用户选择了要上传一个或多个文件时,$files会被填充成一个多维数组。这个数组包含了上传文件的详细信息,比如文件名、类型、大小等等。
让我们看看一个简单的例子。假设我们有一个表单,其中包含一个文件上传字段,我们想要上传一个名为“example.png”的文件。以下是我们所需的PHP代码:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="example" /> <input type="submit" value="Upload" /> </form>
在上面的代码中,我们使用了enctype属性,告诉PHP这个表单包含了上传文件字段。现在,我们来看看如何使用$files数组来获取上传文件的详细信息:
<?php if ($_FILES['example']['error'] === UPLOAD_ERR_OK) { $name = $_FILES['example']['name']; $type = $_FILES['example']['type']; $size = $_FILES['example']['size']; $tmp = $_FILES['example']['tmp_name']; $error= $_FILES['example']['error']; } ?>
在上面的代码中,我们检查了上传文件的错误代码。如果上传成功,我们从$files数组中获取了文件名、类型、大小、临时文件名和错误代码。这些信息可以用于处理上传的文件,比如将其保存到服务器上的特定目录中。
当上传多个文件时,$files数组会被填充成一个多维数组。每个上传文件的详细信息都存储在一个子数组中。以下是一个包含两个上传文件的例子:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="example1" /> <input type="file" name="example2" /> <input type="submit" value="Upload" /> </form>
<?php if ($_FILES['example1']['error'] === UPLOAD_ERR_OK) { $name1 = $_FILES['example1']['name']; $type1 = $_FILES['example1']['type']; $size1 = $_FILES['example1']['size']; $tmp1 = $_FILES['example1']['tmp_name']; $error1= $_FILES['example1']['error']; } if ($_FILES['example2']['error'] === UPLOAD_ERR_OK) { $name2 = $_FILES['example2']['name']; $type2 = $_FILES['example2']['type']; $size2 = $_FILES['example2']['size']; $tmp2 = $_FILES['example2']['tmp_name']; $error2= $_FILES['example2']['error']; } ?>
在上面的代码中,我们从$files数组中获取了两个上传文件的详细信息,分别存储在$name1、$type1、$size1、$tmp1、$error1和$name2、$type2、$size2、$tmp2、$error2变量中。
总结来说,$files是一个非常有用的PHP数组,它用于存储上传文件的详细信息。无论是上传单个文件还是多个文件,$files都能帮助我们获取文件的名字、类型、大小等信息。