php文件上传、下载和删除示例

下面是“php文件上传、下载和删除示例”的详细攻略,包含文件上传、下载和删除三个部分。

下面是“php文件上传、下载和删除示例”的详细攻略,包含文件上传、下载和删除三个部分。

文件上传

文件上传是常见的web开发任务之一。以下是一个简单的示例,演示如何使用PHP通过web表单上传文件。

HTML表单

首先,需要创建一个包含文件上传字段的HTML表单。

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

PHP处理

接下来,我们来看看如何使用PHP处理文件上传。

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;

// 检查文件是否已存在
if (file_exists($target_file)) {
  echo "文件已存在!";
  $uploadOk = 0;
}

// 检查文件大小是否合适
if ($_FILES["fileToUpload"]["size"] > 500000) {
  echo "文件太大!请上传小于500KB的文件。";
  $uploadOk = 0;
}

// 允许上传的文件类型
$allowed_types = array("jpg", "jpeg", "png", "gif");
$file_type = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($file_type, $allowed_types)) {
  echo "只允许上传图片!";
  $uploadOk = 0;
}

// 如果上传过程中没有错误,就将文件移动到指定目录
if ($uploadOk == 1 && move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
  echo "文件已上传!";
} else {
  echo "上传失败!";
}
?>

说明

上面的PHP代码首先定义了存放上传文件的目标目录,然后检查了上传过程中可能出现的一些问题。例如:

  • 检查目标目录是否存在,如果不存在则创建;
  • 检查文件是否已经存在,如果存在返回错误信息;
  • 检查文件大小是否在限制范围内,如果太大则返回错误信息;
  • 检查文件类型是否在允许上传的范围内,如果不在范围内则返回错误信息。

在通过这些检查之后,PHP代码将尝试将文件从临时位置移动到指定的目录中。如果成功移动文件,则返回成功上传的消息,否则返回错误消息。

文件下载

文件下载是另一个常见的Web任务。以下是一个简单的示例,演示如何使用PHP通过Web请求提供文件下载。

PHP代码

<?php
if (isset($_GET["filename"])) {
  $file = $_GET["filename"];
  if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . basename($file) . '"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
  } else {
    echo "文件不存在!";
  }
}
?>

说明

上面的PHP代码通过查询参数指定所需的文件名。如果文件存在,则将其作为HTTP响应发送到客户端,并添加一些响应头信息,以将文件作为附件下载。如果文件不存在,则PHP代码输出错误消息。

文件删除

文件删除是另一个常见的Web任务。以下是一个简单的示例,演示如何使用PHP删除文件。

PHP代码

<?php
if (isset($_GET["filename"])) {
  $file = $_GET["filename"];
  if (file_exists($file)) {
    if (unlink($file)) {
      echo "文件已删除!";
    } else {
      echo "删除文件时出错!";
    }
  } else {
    echo "该文件不存在!";
  }
}
?>

说明

上面的PHP代码通过查询参数指定要删除的文件名。如果文件存在,则使用unlink()函数将其删除。如果成功,则输出成功删除的消息,否则输出错误消息。注意,这个示例中删除文件的过程是不可逆的,因此建议在使用之前先备份文件。

本文标题为:php文件上传、下载和删除示例

基础教程推荐