PHP作为一款流行的服务器端脚本语言,广泛应用于网站开发中。文件上传下载是网站功能的重要组成部分,但同时也伴随着安全风险。本文将详细介绍PHP文件上传下载的实现方法,并探讨如何确保文件传输的高效性和安...
PHP作为一款流行的服务器端脚本语言,广泛应用于网站开发中。文件上传下载是网站功能的重要组成部分,但同时也伴随着安全风险。本文将详细介绍PHP文件上传下载的实现方法,并探讨如何确保文件传输的高效性和安全性。
首先,设计一个表单用于上传文件。以下是一个简单的HTML表单示例:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="上传" />
</form>在upload.php文件中,使用PHP的$_FILES全局变量获取上传的文件信息,并保存到服务器指定目录。
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') { $file = $_FILES['file']; $upload_dir = 'uploads/'; $upload_path = $upload_dir . basename($file['name']); if (move_uploaded_file($file['tmp_name'], $upload_path)) { echo "文件上传成功!"; } else { echo "文件上传失败!"; }
}
?>upload_max_filesize和post_max_size参数限制上传文件大小。在网页上创建一个链接,指向需要下载的文件。
<a href="download.php?file=name.jpg">下载文件</a>在download.php文件中,根据请求的文件名,读取文件内容并输出到浏览器。
<?php
$file_name = $_GET['file'];
$upload_dir = 'uploads/';
$file_path = $upload_dir . $file_name;
if (file_exists($file_path)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($file_path) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file_path)); readfile($file_path); exit;
} else { echo "文件不存在!";
}
?>通过本文的介绍,您应该掌握了PHP文件上传下载的基本实现方法。在实际应用中,请务必注意安全防护,确保文件传输的高效性和安全性。