在PHP中,$files是一個預(yù)定義數(shù)組,用于存儲上傳文件的信息。當(dāng)一個表單中包含文件上傳字段并且用戶選擇了要上傳一個或多個文件時,$files會被填充成一個多維數(shù)組。這個數(shù)組包含了上傳文件的詳細(xì)信息,比如文件名、類型、大小等等。
讓我們看看一個簡單的例子。假設(shè)我們有一個表單,其中包含一個文件上傳字段,我們想要上傳一個名為“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這個表單包含了上傳文件字段。現(xiàn)在,我們來看看如何使用$files數(shù)組來獲取上傳文件的詳細(xì)信息:
<?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數(shù)組中獲取了文件名、類型、大小、臨時文件名和錯誤代碼。這些信息可以用于處理上傳的文件,比如將其保存到服務(wù)器上的特定目錄中。
當(dāng)上傳多個文件時,$files數(shù)組會被填充成一個多維數(shù)組。每個上傳文件的詳細(xì)信息都存儲在一個子數(shù)組中。以下是一個包含兩個上傳文件的例子:
<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數(shù)組中獲取了兩個上傳文件的詳細(xì)信息,分別存儲在$name1、$type1、$size1、$tmp1、$error1和$name2、$type2、$size2、$tmp2、$error2變量中。
總結(jié)來說,$files是一個非常有用的PHP數(shù)組,它用于存儲上傳文件的詳細(xì)信息。無論是上傳單個文件還是多個文件,$files都能幫助我們獲取文件的名字、類型、大小等信息。