以下是一个简单的 PHP 上传代码示例,用于将文件上传到服务器并进行验证。

HTML 文件:

<form action='upload.php' method='post' enctype='multipart/form-data'>
  <input type='file' name='file'>
  <input type='submit' value='Upload'>
</form>

PHP 文件 (upload.php):

<?php
if(isset($_FILES['file'])) {
  $file = $_FILES['file'];
  
  // 获取文件信息
  $fileName = $file['name'];
  $fileTmpName = $file['tmp_name'];
  $fileSize = $file['size'];
  $fileError = $file['error'];
  $fileType = $file['type'];
  
  // 获取文件扩展名
  $fileExt = explode('.', $fileName);
  $fileActualExt = strtolower(end($fileExt));
  
  // 允许的文件类型
  $allowed = array('jpg', 'jpeg', 'png', 'pdf');
  
  if(in_array($fileActualExt, $allowed)) {
    if($fileError === 0) {
      if($fileSize < 5000000) {
        // 生成文件名,确保唯一性
        $fileNameNew = uniqid('', true).'.'.$fileActualExt;
        
        // 文件上传路径
        $fileDestination = 'uploads/'.$fileNameNew;
        
        // 将文件从临时目录移动到上传目录
        move_uploaded_file($fileTmpName, $fileDestination);
        
        echo '文件上传成功!';
      } else {
        echo '文件太大!';
      }
    } else {
      echo '上传文件出错!';
    }
  } else {
    echo '不支持此文件类型!';
  }
}
?>

**注意:**为了确保文件上传的安全性,必须进行一些验证和安全措施,例如确保上传的文件是允许的类型、大小不超过限制、检查文件名是否唯一等。

安全提示:

  • 文件类型验证: 只允许上传特定类型的文件,以防止恶意代码的上传。
  • 文件大小限制: 设置最大文件大小限制,避免服务器资源占用过大。
  • 文件名唯一性: 使用唯一的文件名,防止覆盖已存在的文件。
  • 文件路径验证: 确保上传的文件路径是安全的,防止文件上传到意想不到的目录。
  • 文件内容验证: 对上传的文件内容进行安全检查,以防止恶意代码的上传。

通过遵循这些安全措施,你可以确保文件上传过程的安全和可靠性。

PHP 上传文件代码示例:安全高效的图片和文档上传

原文地址: https://www.cveoy.top/t/topic/nETv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录