php获取上传的文件信息,如果文件格式不符合要求,文件长度超过指定大小,就拒绝上传

在PHP中,你可以通过$_FILES数组来获取上传文件的信息。首先,你可以使用$_FILES["file"]["type"]来获取上传文件的MIME类型,比如image/jpeg、text/plain等。你可以使用in_array函数来判断文件类型是否符合要求。 接着,你可以使用$_FILES["file"]["size"]来获取上传文件的大小,单位是字节。你可以将其与你指定的大小进行比较,以判断文件大小是否超过指定限制。 以下是一个示例代码:

```php
<?php
$allowedTypes = array('image/jpeg', 'image/png'); // 可接受的文件类型
$maxSize = 2 * 1024 * 1024; // 指定的文件大小限制,这里是2MB

if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
  $fileTmpPath = $_FILES["file"]["tmp_name"];
  $fileType = $_FILES["file"]["type"];
  $fileSize = $_FILES["file"]["size"];
  
  if (in_array($fileType, $allowedTypes) && $fileSize <= $maxSize) {
    // 文件类型和大小符合要求,执行上传操作
    move_uploaded_file($fileTmpPath, "upload/" . $_FILES["file"]["name"]);
    echo "文件上传成功!";
  } else {
    echo "文件格式不符合要求或文件过大!";
  }
} else {
  echo "文件上传失败!错误代码:" . $_FILES["file"]["error"];
}
?>
```

在上述代码中,通过判断$_FILES["file"]["error"]是否等于UPLOAD_ERR_OK来检查文件是否成功上传。如果成功上传,则获取文件的临时路径、类型和大小,并进行必要的验证。如果验证通过,则调用move_uploaded_file函数将文件移动到指定目录。 当然,你也可以根据自己的需要进行其他的验证操作,比如文件名的合法性检查等。

相关代码参考