📜  删除上传的文件php(1)

📅  最后修改于: 2023-12-03 15:36:54.910000             🧑  作者: Mango

删除上传的文件 PHP

当用户通过网站上传文件时,通常需要提供删除功能,以便用户可以删除他们不再需要的文件。在本文中,我们将学习如何在 PHP 中删除上传的文件。

上传文件

首先,我们需要上传文件。我们可以使用 HTML 和 PHP 来上传文件。以下是一个例子:

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

在上面的 HTML 代码中,我们使用 input 标签并设置其类型为文件类型。我们还将 form 标签的 enctype 属性设置为 multipart/form-data,这是必需的,以便服务器可以读取文件并接收上传的数据。

接下来,我们将在 PHP 中编写代码来处理上传文件。

处理上传文件

我们将使用 PHP 内建的上传功能来处理上传的文件。以下是一个简单的处理代码的例子:

$target_dir = "uploads/"; //上传文件的目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); //上传文件的完整路径

//检查文件类型
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg"
&& $fileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    exit;
}

//移动上传的文件
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

在上面的代码中,我们使用了 move_uploaded_file 函数来移动文件。该函数需要两个参数:要移动的临时文件名和目标文件名。

删除上传的文件

删除上传的文件非常容易。我们只需要使用 PHP 的 unlink 函数即可。以下是一个例子:

$file_path = 'uploads/example.jpg'; //文件路径
if (file_exists($file_path))
    unlink($file_path); //删除文件

在上面的代码中,我们检查文件是否存在(以防万一),然后使用 unlink 函数删除文件。

完整的上传和删除代码

现在,我们已经学会了如何上传文件和删除文件,下面是一段完整的代码:

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

if(isset($_POST["submit"])) {
    $fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    if($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg"
    && $fileType != "gif" ) {
        echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
        exit;
    }

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}

$file_path = 'uploads/example.jpg';
if (file_exists($file_path))
    unlink($file_path);
?>

在这个代码段中,我们首先检查文件是否符合文件类型,如果不符合,则会提醒用户。如果文件类型是正确的,则会移动文件。最后,我们使用 unlink 函数删除上传的文件。注意,你需要替换文件路径,以便它匹配你的文件。

现在你已经学会了如何上传文件和删除文件,你可以在自己的项目中使用这个功能,以方便用户处理上传的文件。