php - 如何使用 PHP 从服务器下载文本文件?
问题描述
我有一个希望用户下载的 .txt 文件,我目前正在使用它:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename('file.txt');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('file.txt'));
readfile('file.txt');
exit;
当我使用它下载文件时,文件的内容以在这部分脚本之前使用的所有 HTML 和 PHP 开头,例如
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
.
.
.
Actual file contents
如何下载文件以便只有实际内容而不是代码?
解决方案
更正了您的代码并检查 file.txt 是否存在。
header('Content-Type: application/octet-stream');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.basename('file.txt'));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('file.txt'));
readfile('file.txt');
exit;
推荐阅读
- python - 为什么我的 Spyder 项目不再工作?使用scrapy爬取
- kubernetes - 我如何获得 traefik 控制器配置和一些关于入口路径的问题
- python - 如何在 requirements.txt 中构建具有特定版本依赖项的 Docker 映像?
- qemu - 如何设置 QEMU 会话的窗口标题?
- filter - 如何使用 infura 从以太坊区块中获取所有日志
- php - 获取PDF中的一行?
- scala - 如何引用/选择当前数据框中的列
- android - Android Studio 3.6.1 和 Gradle 构建问题
- r - 将关联函数与 na-Data 一起使用时出现 R 错误
- javascript - 为什么 iframe 无法在 Android Studio 上加载?