下面是“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文件上传、下载和删除示例 - Python技术站