$_FILES
是一个预定义的全局数组,用于在 PHP 中处理 HTTP 文件上传。要正确运用 $_FILES
,您需要遵循以下步骤:
- 检查表单是否包含文件上传字段:确保您的 HTML 表单包含
enctype="multipart/form-data"
属性,这样才能上传文件。
-
在 PHP 脚本中处理文件上传:在处理文件上传的 PHP 脚本(例如
upload.php
)中,您可以使用$_FILES
数组来访问上传的文件信息。 -
检查文件是否已上传:使用
isset()
函数检查$_FILES
数组中的特定元素是否存在。
if (isset($_FILES["fileToUpload"])) { // 文件已上传 } else { // 文件未上传 }
- 获取文件信息:使用
$_FILES
数组中的键来获取文件的相关信息,如文件名、文件大小、文件类型等。
$fileName = $_FILES["fileToUpload"]["name"]; $fileSize = $_FILES["fileToUpload"]["size"]; $fileType = $_FILES["fileToUpload"]["type"]; $fileTmpName = $_FILES["fileToUpload"]["tmp_name"];
- 检查文件上传是否成功:使用
$_FILES
数组中的error
键来检查文件上传是否成功。error
键的值为0
表示上传成功。
if ($_FILES["fileToUpload"]["error"] == 0) { // 文件上传成功 } else { // 文件上传失败 }
- 将文件移动到新位置:如果文件上传成功,您可以使用
move_uploaded_file()
函数将文件从临时目录移动到目标目录。
$targetDirectory = "uploads/"; $targetFile = $targetDirectory . basename($fileName); if (move_uploaded_file($fileTmpName, $targetFile)) { echo "文件:" . $fileName . " 已经上传成功。"; } else { echo "文件上传失败。"; }
注意:确保目标目录具有适当的权限,以便 PHP 能够将文件移动到该目录。