使用隐藏 IFrame 下载 PHP 文件而不保存

2024-03-01

我提前为令人困惑的问题措辞表示歉意,但我不知道如何表达。

我本质上在数据库中有一个字符串,我打算将其提供给用户下载。我该怎么做呢?

我试图使用ajax,但我不知道如何去做。

当按下下载链接时执行以下 jquery 代码

$.ajax({

    url: 'index.php/script/downloadFile',
    type: 'post',
    data: {name: $(this).text()}

});

相关的 PHP 代码如下所示:

public function downloadScript(){

    $name = $_POST['name'];

    $filename = $name . ".txt";
    $string = //String that comes from database using name to create query
    $filename = $name . ".txt";

    header('Content-type: text/plain');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header("Content-Length: " . strlen($string));
    header("Connection: close");

    echo $string;
}

本质上,我希望该字符串可供用户作为文本文件下载。我不知道 AJAX 是否是执行此操作的正确方法,或者是否有更好的方法来执行相同的任务。 (我假设更好的方法是以某种方式合并隐藏的 iframe)

如需更多信息,我有一个元素列表:

  • John
  • Jeff
  • Joe
  • Jack
  • 单击其中一个时,我想将该元素名称的文本发送到 php 文件以形成查询。

    这就是为什么我没有简单的 href 设置来开始文件下载。

    EDIT:

    当我这样做时,无论如何我是否可以获得多个这些文件,比如说从数据库返回多个字符串,将它们保存为单独的文本文件,将它们压缩,然后将它们发送给用户?或者,这需要保存到服务器吗?

    任何帮助表示赞赏!


    你可以把它设为一个链接

    <ul>
        <li class="click_link">John</li>
        <li class="click_link">Bob</li>
    </ul>
    
    <script>
    $('li').click(function(e) {
        window.location.href = 'getfile.php?name=' + $(this).text();
    });
    </script>
    

    然后改变你的$_POST to a $_GET.

    只要您的标头设置正确,这就会下载该文件。

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

    使用隐藏 IFrame 下载 PHP 文件而不保存 的相关文章

    随机推荐

    • 有没有办法通过脚本在Google开发者控制台中启用高级Google服务?

      again 我创建了一个使用 UrlShortener Url insert 功能的嵌入电子表格脚本 我的客户希望能够创建此电子表格的新实例以与同事共享 我已经实现了此功能 但是当我开始测试新实例时 我发现我必须在 Google 开发人员控
    • 了解 Google Cloud Platform 微服务架构设计的成本估算

      我正在将整体应用程序重新设计为微服务架构 并希望使用 Google Cloud Platform GCP 来托管整个解决方案 我很难理解他们的成本明细 并且担心构建后我的成本将无法控制 这是一个个人项目 但我希望在启动后会有很多用户 所以我
    • 如何禁用父小部件中的所有用户输入小部件(按钮、条目......)?

      我正在使用 Python 和 Tkinter 设计 GUI 注册用户输入命令所需的所有按钮和条目都放置在主目录中frame http effbot org tkinterbook frame htm是他们的子部件 我想知道是否可以通过将一些
    • TensorFlow 对象检测 api:使用预训练模型更改训练时的类数时的分类权重初始化

      我不仅想利用特征提取器预训练权重 还想利用特征映射层的分类器 定位预训练权重 使用张量流对象检测 API 来微调张量流对象检测模型 SSD 当我的新模型的类数量与我用于微调检查点的预训练模型不同时 TensorFlow 对象检测 API 将
    • lambda 比 python 中的函数调用慢,为什么

      我认为lambda比函数调用更快 但是经过测试 我发现我错了 函数调用肯定比 lambda 调用快 有人能告诉我为什么吗 那么如何加快Python中的函数调用速度呢 我正在使用 Ubuntu 14 04 和 Python 2 7 6 gt
    • 使用 docker 运行 dotnet 1.1

      我正在尝试在我的 Mac 上运行 NET Core 应用程序 我正在使用 VS Core 并将项目升级到 NET 1 1 当我通过 VSCode 运行它时一切正常 但是当我使用 Docker 运行它时它失败了 我执行以下步骤 dotnet
    • 使用 jQuery 将数据从一个表的选定行复制到另一个表

      我有两张表 其中一张有我的产品数据 例如名称和条形码 另一个是空的 我想复制产品表 仅限选定的行 通过 jQuery 进入第二个表 table style max width 50 thead tr th bar code th th pr
    • 语法错误,意外的 T_SL

      我对 php 相当陌生 我正在使用一个脚本来创建一个名为 mime mailer 的函数 该函数本质上允许我使用 PHP 发送能够使用 CSS 设计的电子邮件 而不仅仅是纯文本 然而 在我的注册脚本中 我尝试编写一些发送 CSS 电子邮件的
    • 如何计算向量的置信区间? [关闭]

      Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个向量 vector lt c 12 17 24 35 23 34 56 如何计算 R 中该向量的置信区间 90 99 95 这是我想
    • 在 Meteor Js 中加密 Mongodb 数据

      插入文档时是否可以对特定集合的某些 Mongodb 字段进行加密 然后在发布合集的同时解密 我不确定这对于您的用例来说是否太过分了 Mylar http css csail mit edu mylar 是一个支持客户端加密的 Meteor
    • Android Studio 快捷方式,如 Eclipse

      I am new to Android Studio and want to know about shortcuts In Eclipse we use shift ctrl O for importing In Android Stud
    • Web Crypto API 在 AES 解密时抛出“DOMException”

      我想执行基本的 AES CBC 解密 我有字符串encData使用 128 位密钥加密rawKey 初始化向量defaultIV为零 我只想使用 Web Crypto API 而不使用第三方库 可以做吗 window crypto subt
    • SBCL:将 Hunchentoot 应用程序部署为可执行文件

      我开始使用 SBCL Common Lisp 并希望使用 Hunchentoot 开发一个小型 Web 应用程序 为了便于部署 我计划使用 sb ext save lisp and die 将所有内容保存在二进制文件中 因为我可以忍受大输出
    • 以编程方式设置 closereason

      我想在表单内调用 This Close 后设置表单的 CloseReason 通常 此表单会通过调用 This Close 自行关闭 但我想询问用户是否真的想要关闭表单 并发送包含一些信息的 mbox 但我有这个 protected ove
    • Angular 6 ngFor 按键分组的表列表

      我的 Angular 6 应用程序需要显示一个表格列表 其中表格是对其组成元素的一组化学分析 假设我有金属合金A 我对它进行了不同的化合物分析 找到了它的化学成分 Fe 0 001 Cu 0 042 等 这是我的数据源 它只是一个带有模拟的
    • 在 Laravel 5.3 中为数据库中的图像添加水印

      我正在尝试使用 Intervention Image 包在 Laravel 数据库中的图像上添加水印 在我的数据库表中 我保存图像的路径 我在模型中使用访问器来访问图像路径的字段 但收到此错误 方法插入不存在 这是我的模型 这是我的刀片 p
    • ServerSocket 被从控制台寻求输入的线程阻塞

      谁能告诉我为什么 ServerSocket 构造函数永远不会在新线程中返回 我从未看到 Opened 消息打印到控制台 似乎主线程通过过快地进入 readLine 来阻止服务器套接字线程运行 public class Main public
    • 将 Swagger 添加到 Dropwizard 应用程序,需要提供 SwaggerBundleConfiguration 实例吗?

      我对所有这些框架都非常陌生 所以请尝试并耐心等待我 感觉应该是一个非常简单的事情 我正在尝试学习将 Swagger 集成到现有 Dropwizard 应用程序中以生成 API 文档的过程 最好使用 Swagger UI 界面 以便它对于尝试
    • 如何向 tkinter 标签添加左边框或右边框

      下面的代码 import Tkinter as tk root tk Tk labelA tk Label root text hello grid row 0 column 0 labelB tk Label root text worl
    • 使用隐藏 IFrame 下载 PHP 文件而不保存

      我提前为令人困惑的问题措辞表示歉意 但我不知道如何表达 我本质上在数据库中有一个字符串 我打算将其提供给用户下载 我该怎么做呢 我试图使用ajax 但我不知道如何去做 当按下下载链接时执行以下 jquery 代码 ajax url inde