强制下载 tar 存档的标头

2024-03-23

我的服务器上有一个 tar 存档,必须可以通过 php 下载。这是我使用过的代码:

$content=file_get_contents($tar);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=$tar");
header("Content-Length: ".strlen($content));    
unlink($name);
die($content);

文件已下载,但已损坏且无法打开。我认为标头有问题,因为服务器上的文件可以毫无问题地打开。你知道我该如何解决这个问题吗?

UPDATE我尝试打印这样的 iframe:

<iframe src="<?php echo $tar?>"></iframe>

并且下载有效,所以我确信标头中缺少某些内容。


当我不得不这样做时,我使用了这段代码:

function _Download($f_location, $f_name){
 header('Content-Description: File Transfer');
 header('Content-Type: application/octet-stream');
 header('Content-Length: ' . filesize($f_location));
 header('Content-Disposition: attachment; filename=' . basename($f_name));
 readfile($f_location);
 }

_Download("../directory/to/tar/raj.tar", "raj.tar");
//or
_Download("/var/www/vhost/domain.com/httpdocs/directory/to/tar/raj.tar", "raj.tar");

尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制下载 tar 存档的标头 的相关文章

随机推荐

  • 使用CRTP时如何避免错误?

    Using CRTP http en wikipedia org wiki Curiously recurring template pattern有时我会写这样的代码 this was written first struct Foo B
  • 水平步骤中的等待栏,matlab

    我正在尝试修改这段代码 h waitbar 0 Please wait for i 1 10 computation here waitbar i 10 end close h 我如何将 waitbar 分为 10 个步骤 我的意思是它应该
  • 如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

    这个问题在这里已经有答案了 如何在 JavaScript 中从字符串中去除 HTML cleanText strInputCode replace lt gt gt g 蒸馏自这个网站 web archive https web archi
  • 在一个查询中搜索多个表 (MySQL/PHP#)

    我有大约 15 个表 每个表包含大约 10 000 行和大约 30 列 我希望我的网站的用户能够搜索零件编号或产品 说明并显示结果 不管它在哪张桌子上 每个产品页面与每个对应表的名称相同 因此 如果找到产品 它只会显示正确页面的链接 文件名
  • 如果没有 google-services.json,Google 服务插件将无法运行 [重复]

    这个问题在这里已经有答案了 文件 google services json 丢失 Google 服务插件无法运行 自从我删除了我的内容后 我收到此错误代码google services json我的项目中的文件 现在解决这个问题的明显方法是
  • Spark CDH 5.7 上的 Hive - 无法创建 Spark 客户端

    我们在使用 Spark 引擎执行 Hive 查询时收到错误 执行spark任务失败 出现异常 org apache hadoop hive ql metadata HiveException 创建失败 Spark 客户端 失败 执行错误 返
  • 指定网格中的行数和列数

    有没有办法指定网格中的行数和列数 我的代码给了我 3 列和 4 行 我想要 4 列和 3 行 有没有办法用 CSS 和 HTML 来实现这一点 我也愿意使用 Bootstrap 尝试正确编辑下面的代码 grid container disp
  • 如何在terraform创建后显示ec2实例的公共IP

    我想在 terraform 执行后显示 terraform 创建的 aws instance 的 public ip 但是 仅显示第一台服务器的全局 IP 我的源代码如下 resource aws instance main count 3
  • 合并两个按月计数的查询

    灵感来自这个问题在Meta上 https meta stackexchange com questions 57692 have the new bounty changes caused more bounties to appear 我
  • MVC3全球化:模型绑定之前需要全局过滤器

    目前 我有一个名为的全局过滤器GlobalizationFilter检查路由值 cookie 和浏览器语言标头以确定请求的正确区域性设置 public override void OnActionExecuting ActionExecut
  • Ruby on Rails 中通过 sprocket 进行源映射

    我想在我正在开发的 Rails 3 2 应用程序上添加源映射支持 据我所知 Sprockets 不支持生成源地图 从其 github 页面来看 该功能似乎计划在 4 0 中使用 我正在使用 Sprockets 2 2 我认为猴子修补是唯一的
  • 将整数与MagicMock进行比较在python的unittest中不起作用

    我有一个类 它使用类变量来选择要执行的逻辑 in file1 class SomeHelper def init self self my var 0 in file2 import file1 class MyClass def calc
  • Highcharts 工具提示中未触发点击事件

    我正在使用 Highchart 库 我通过格式化程序函数回调创建一个工具提示 并在工具提示内插入一个链接 config tooltip formatter function console log this var tooltipHTML
  • 自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:

    我是新来的 我正在尝试使用 Spring 创建一个电子商店 但我在连接数据库时遇到问题 我搜索了一下 发现其他用户也问了同样的问题 但我找不到问题所在 我缺乏想法 这里出了什么问题 堆栈跟踪 org springframework bean
  • OpenGL + Mesa 3D + MinGW

    我在 Ubuntu Linux 上编写 C 应用程序并将它们编译到 2 个操作系统 本机到Linux通过使用 g GNU C 编译器 并将它们交叉编译为Windows通过使用 i386 mingw32 g MinGW C 交叉编译器 现在
  • WIX 服务安装程序会覆盖服务安装程序设置

    我正在开发一项稍后由 WIX 安装程序部署的服务 这是服务安装程序类 this ServiceInstaller DisplayName My Service this ServiceInstaller ServiceName MyServ
  • GridView 取一行

    NET 4 和 C 我有一个 GridView 我想在代码中处于编辑模式时取一行并找到一个控件 这是我的代码 但不起作用 它只需要 GridView 的第一行 有任何想法吗 protected void uxManageSlotsDispl
  • 如何在按下 ALT 键时使 WPF 菜单栏可见?

    今天 我的 WPF 用户界面受到了一些新的限制 这些限制应该会消除菜单栏的永久可见性 我想到模仿 Windows Live Messenger 的用户界面 仅当按下 ALT 键时 该应用程序才会显示菜单栏 当菜单栏上的焦点丢失时 它会再次隐
  • Tensorflow 对象检测 API - 超参数调整和网格搜索

    我目前正在使用 Tensorflow 对象检测 API 并且想要微调预训练的模型 因此 需要进行超参数调整 API 是否已经提供某种超参数调整 如网格搜索 如果没有可用的东西 我如何实现简单的网格搜索来调整 最相关的 超参数 此外 API
  • 强制下载 tar 存档的标头

    我的服务器上有一个 tar 存档 必须可以通过 php 下载 这是我使用过的代码 content file get contents tar header Content Type application force download he