如何在 php 中添加 txt 文件并创建 ZIP [重复]

2024-01-20

可能的重复:
打开文件、写入文件、将文件另存为 zip 并流式传输给用户下载 https://stackoverflow.com/questions/2286639/open-file-write-to-file-save-file-as-a-zip-and-stream-to-user-for-download

我在上传文件夹中有一个 txt 文件,我需要在其中添加此文件并动态创建 ZIP,并提示用户下载应包含文本文件的 Zip 文件。我该如何执行此操作,而且需要哪些标头提示用户下载。任何人都可以帮助我吗?我使用了 PHP 手册中的相同构造。Iam 使用相同的函数来压缩文件“http://davidwalsh.name/create-zip-php http://davidwalsh.name/create-zip-php“并且我正在编写此代码,并且我收到了 zip 下载的提示,但当我提取文件时,我收到了警告消息

$zip_file = "my-archive.zip";
$file_path="../../../downloads/";
$files_to_zip = array($file_path."test_testing.txt");
$result = create_zip($files_to_zip,'my-archive.zip');

header('Content-Description: File Transfer');    
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header("Content-type: application/zip");
header("Content-Disposition: attachment; filename=".$zip_file);
header("Pragma: no-cache");
header("Expires: 0");

readfile($zip_file);    

注意错误消息是“此存档中的一个或多个文件使用“..”(父文件夹)作为其文件夹信息的一部分”


在 create_zip() 函数中, 改变

foreach($valid_files as $file) {
    $zip->addFile($file,$file);
}

to

foreach($valid_files as $file) {
    $zip->addFile($file,pathinfo($file,PATHINFO_BASENAME));
}

只要文件数组中没有名称重复但目录不同的文件,此方法就可以工作

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

如何在 php 中添加 txt 文件并创建 ZIP [重复] 的相关文章

随机推荐

  • Emacs。头盔包。如何查找文件夹(不是 git 文件夹)和所有子文件夹中的文件?

    Windows 10 64 位 Emacs 25 1 Helm 包 查找文件 例如我的文件 txt 在任何文件夹 不是 git 不是项目文件 中我使用命令helm 查找文件 是工作 好的 但现在我需要找到我的文件 txt在当前文件夹和所有子
  • JavaScript 中多种情况的 switch 语句

    我需要在 JavaScript 中的 switch 语句中使用多种情况 例如 switch varName case afshin saeed larry alert Hey break default alert Default case
  • 从 hibernate 迁移到普通 jdbc

    我最近开始从事 Java 和 J2EE 工作 并且具备 JDBC 和 hibernate 相关概念的理论知识 我的工作任务是将现有的 Hibernate 连接转换为普通 JDBC 任何人都可以建议最简单的方法来做到这一点 实际上 我必须处理
  • 查询为给定事件类型注册的事件侦听器列表

    有没有一种方法可以识别 JavaScript 中给定事件的注册侦听器列表 如果可以 您可以列出示例吗 不是一般情况下 仅当您自己在代码中跟踪所有事件侦听器时才能执行此操作 最简单的方法是对所有事件侦听器分配使用包装函数 如果其中一个大型图书
  • Objective-C KVO 不适用于 C 联合

    我需要使用 KVO 观察 Objective C 类上的联合类型属性 但似乎我对此没有运气 我做了一些实验 只要我使用 C 结构 一切都会正常 一旦我用联合替换结构 自动 KVO 就不再工作了 observeValueForKeyPath没
  • 异步加载脚本

    我正在使用 JQuery 中的几个插件 自定义小部件和其他一些库 结果我有几个 js 和 css 文件 我需要为我的网站创建一个加载程序 因为加载需要一些时间 如果我可以在导入所有内容之前显示加载程序 那就太好了 etc 我找到了几个教程
  • 失败时漂亮打印数组

    describe Rspec do it should print arrays in a readable manner do arr 0 a 1 1 b 2 2 c 3 3 d 4 4 e 5 6 g 7 7 h 8 8 i 9 arr
  • 为什么Java编译器11使用invokevirtual来调用私有方法?

    当使用 OpenJDK 8 中的 Java 编译器编译以下代码时 调用foo 是通过一个完成的invokespecial 但是当使用 OpenJDK 11 时 invokevirtual被发射 public class Invoke pub
  • 两个java源文件的结构差异

    有没有办法找到两个java源文件的结构差异 我想找到两个java文件的结构差异 但我不知道如何开始 java中有没有用于此目的的库 更新 结构差异意味着像 它不关心空白或位置 它应该在语法上比较源 这有助于我们跟踪实际的更改 即使方法被移动
  • 安卓|使用 Retrofit2 和本地 API 进行基本身份验证

    我开始制作一个应用程序 并首先将其连接到模拟 API 现在我想将其连接到在我的 PC 上运行的 API For starters I m trying to implement the login access Since my API s
  • 在 JavaScript 中将 png/jpg 转换为 .ico

    所以我想要一个工具来生成 ico来自 jpg png 的文件 我使用以下代码从画布生成了 jpg var img c toDataURL image png document write img src 取自此画布
  • 如何更改 flutter showAboutDialog 中的文本按钮颜色?

    我正在使用showAboutDialogflutter 中的函数显示我的项目中使用的许可证 我如何坚持改变文本颜色VIEW LICENSES and CLOSE文本按钮 请参阅此图片以进行说明 这是我的代码 onTap showAboutD
  • 如何在离开和返回 HTTPS 页面时保留更改的表单内容? (适用于 HTTP)

    在文本区域中输入 更改某些内容 在提交表单之前 请离开页面 例如通过单击浏览器的后退按钮 返回编辑页面 例如 单击前进按钮 预期结果 在textarea中输入的内容应该仍然存在 实际结果 with HTTPS 所有的改变都消失了 bad w
  • MongoDB无尽查找ToListAsync

    我正在尝试从 MongoDB 集合中检索数据 但是发生了一些奇怪的事情 如果我显示 MessageBox 则数据获取有效 如果不显示 则数据获取无效 static class MongoDBController static MongoCl
  • Obj-C Cocoa 通知 NSApplicationDidResignActiveNotification

    我有一个名为 AppController h m 的类 我想在发送 NSNotificationDidResignActiveNotification 时做一些事情 所以我在AppController m中编写了这段代码 void init
  • CNN - 图像调整大小 VS 填充(是否保持纵横比?)

    虽然人们在训练 CNN 时通常倾向于简单地将任何图像调整为正方形 例如 resnet 采用 224x224 正方形图像 但这对我来说看起来很难看 尤其是当长宽比不在 1 左右时 事实上 这可能会改变基本事实 例如 专家可能给扭曲图像的标签可
  • 如何获得适用于 Android 的简单相机程序?

    我刚刚开始用 Java 编程 我需要一个简单的应用程序来显示相机 拍照并将图片数据发送到某个地方 我一直在网上搜索 试图找到一个按预期工作的好相机教程 但显然它们都需要一些我还没有的内在知识 On this https stackoverf
  • 如何对齐输入内部的文本?

    对于所有默认输入 您填写的文本从左侧开始 怎么让它从右边开始呢 Use the 文本对齐 http www w3schools com cssref pr text text align aspCSS 中的属性 input text ali
  • C++ 中的继承和模板 - 为什么继承的成员不可见?

    当一个模板公开继承另一个模板时 基公共方法不应该是可访问的吗 template
  • 如何在 php 中添加 txt 文件并创建 ZIP [重复]

    这个问题在这里已经有答案了 可能的重复 打开文件 写入文件 将文件另存为 zip 并流式传输给用户下载 https stackoverflow com questions 2286639 open file write to file sa