PHP实现文件上传与下载

1. PHP实现文件上传

文件上传是Web开发中常见的功能之一,使用PHP可以轻松实现文件上传功能。下面将介绍如何使用PHP实现文件上传。

1.1 HTML表单

首先,需要创建一个HTML表单,用于选择要上传的文件并提交到服务器。可以使用<form>元素创建一个简单的表单,并添加一个文件选择输入框和一个提交按钮:

<form method="POST" action="upload.php" enctype="multipart/form-data">

<input type="file" name="fileUpload" />

<input type="submit" value="上传文件" />

</form>

<input type="file">用于创建一个文件选择输入框。而enctype="multipart/form-data"属性用于指定表单数据的编码类型为二进制流,这样才可以支持文件上传。

1.2 PHP文件处理

要处理文件上传,需要创建一个PHP文件,用于接收上传的文件并将其保存到指定位置。可以使用以下代码创建一个名为upload.php的文件:

<?php

if ($_FILES['fileUpload']['error'] === UPLOAD_ERR_OK) {

$tempName = $_FILES['fileUpload']['tmp_name'];

$fileName = $_FILES['fileUpload']['name'];

$destination = 'uploads/' . $fileName;

move_uploaded_file($tempName, $destination);

echo "文件上传成功!";

} else {

echo "文件上传失败!";

}

?>

在这段代码中,首先通过检查$_FILES['fileUpload']['error']判断文件是否上传成功。若成功,则将文件保存到指定位置,使用move_uploaded_file()函数实现。最后,通过输出相应的消息告知用户上传结果。

2. PHP实现文件下载

除了文件上传,PHP也可以实现文件下载的功能。接下来,将介绍如何使用PHP实现文件下载。

2.1 文件下载链接

在HTML页面中,可以使用链接来提供文件下载。为了提供文件下载链接,可以使用如下代码:

<a href="download.php?fileName=file.txt">下载文件</a>

在这段代码中,将文件名作为参数传递给download.php文件。当用户点击链接时,将会跳转到download.php文件并执行相关的操作。

2.2 PHP文件处理

要实现文件下载,需要创建一个名为download.php的文件。在该文件中,可以使用以下代码来实现文件下载:

<?php

$fileName = $_GET['fileName'];

$filePath = 'uploads/' . $fileName;

if (file_exists($filePath)) {

header('Content-Type: application/octet-stream');

header('Content-Disposition: attachment; filename="' . $fileName . '"');

header('Content-Length: ' . filesize($filePath));

readfile($filePath);

} else {

echo "文件不存在!";

}

?>

在这段代码中,首先获取到要下载的文件名,并通过拼接文件路径的方式获取到文件的完整路径。接下来,使用HTTP头部信息来设置下载文件的相关属性,包括文件类型、文件名以及文件大小。最后,使用readfile()函数将文件内容输出到浏览器,实现文件下载。

通过以上步骤,就可以实现PHP文件上传与下载的功能了。

后端开发标签