$_FILES
是一个预定义的全局数组,用于在 PHP 中处理 HTTP 文件上传。要正确运用 $_FILES
,您需要遵循以下步骤:
enctype="multipart/form-data"
属性,这样才能上传文件。<form action="upload.php" method="post" enctype="multipart/form-data">
选择一个文件:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传文件" name="submit">
</form>
在 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 能够将文件移动到该目录。