PHP 文件传输机制
PHP 文件传输机制详解
PHP 提供了强大的文件处理能力,包括文件上传和下载。
文件上传
用户可以通过表单将文件上传至服务器。PHP 利用 $_FILES
超全局变量接收上传的文件信息,并使用 move_uploaded_file()
函数将文件移动到指定位置。
以下是一个简单的文件上传示例:
<?php
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "
";
} else {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
echo "文件 ". basename( $_FILES["file"]["name"]). " 上传成功。";
} else {
echo "文件上传失败。";
}
}
?>
文件下载
PHP 可以通过设置 HTTP 头信息,将服务器上的文件发送到客户端,实现文件下载功能。header()
函数可以用于设置 HTTP 头信息,例如 Content-Disposition
和 Content-Type
。
以下是一个简单的文件下载示例:
<?php
$file_path = "downloads/example.txt";
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 "文件不存在。";
}
?>
需要注意的是,在实际应用中,需要对上传和下载的文件进行安全性和完整性校验,以确保服务器和用户数据的安全。
1.61KB
文件大小:
评论区