温馨提示×

php $_files怎样正确运用

PHP
小樊
84
2024-11-20 18:30:00
栏目: 编程语言

$_FILES 是一个预定义的全局数组,用于在 PHP 中处理 HTTP 文件上传。要正确运用 $_FILES,您需要遵循以下步骤:

  1. 检查表单是否包含文件上传字段:确保您的 HTML 表单包含 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>
  1. 在 PHP 脚本中处理文件上传:在处理文件上传的 PHP 脚本(例如 upload.php)中,您可以使用 $_FILES 数组来访问上传的文件信息。

  2. 检查文件是否已上传:使用 isset() 函数检查 $_FILES 数组中的特定元素是否存在。

if (isset($_FILES["fileToUpload"])) {
    // 文件已上传
} else {
    // 文件未上传
}
  1. 获取文件信息:使用 $_FILES 数组中的键来获取文件的相关信息,如文件名、文件大小、文件类型等。
$fileName = $_FILES["fileToUpload"]["name"];
$fileSize = $_FILES["fileToUpload"]["size"];
$fileType = $_FILES["fileToUpload"]["type"];
$fileTmpName = $_FILES["fileToUpload"]["tmp_name"];
  1. 检查文件上传是否成功:使用 $_FILES 数组中的 error 键来检查文件上传是否成功。error 键的值为 0 表示上传成功。
if ($_FILES["fileToUpload"]["error"] == 0) {
    // 文件上传成功
} else {
    // 文件上传失败
}
  1. 将文件移动到新位置:如果文件上传成功,您可以使用 move_uploaded_file() 函数将文件从临时目录移动到目标目录。
$targetDirectory = "uploads/";
$targetFile = $targetDirectory . basename($fileName);

if (move_uploaded_file($fileTmpName, $targetFile)) {
    echo "文件:" . $fileName . " 已经上传成功。";
} else {
    echo "文件上传失败。";
}

注意:确保目标目录具有适当的权限,以便 PHP 能够将文件移动到该目录。

0