📅  最后修改于: 2023-12-03 15:36:54.910000             🧑  作者: Mango
当用户通过网站上传文件时,通常需要提供删除功能,以便用户可以删除他们不再需要的文件。在本文中,我们将学习如何在 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 函数删除上传的文件。注意,你需要替换文件路径,以便它匹配你的文件。
现在你已经学会了如何上传文件和删除文件,你可以在自己的项目中使用这个功能,以方便用户处理上传的文件。