强制下载 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 存档的标头 的相关文章

  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 如何在报表查看器中添加参数?

    嘿 我在 Visual Studio 2010 中有一个表单应用程序 我想使用报表查看器创建一个报表并添加一些参数 我尝试从代码中添加参数 但没有成功 我有这个错误 tablix Tablix1 的 FilterExpression 表达式
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • 文件头或一般注释

    有人对文件有结构良好的起始评论吗 我正在寻找看起来不错的东西 要么很花哨 要么很专业 我所说的一般注释是指文件顶部的注释 显示您的名称和文件的用途 像这个 hello program to print out Hello World Aut
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多

随机推荐

  • 使用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