当前位置: 首页 > 知识库问答 >
问题:

在 PHP 中创建焦油时保留文件信息

微生啸
2023-03-14

在PHP中,我使用Phar对象创建了tar文件,但它不保存文件信息,如修改的时间、权限等。

有没有办法将此类信息保存在创建的tar文件中?

我试了buildFromDirectory(),addFile(),都没用。

共有1个答案

孟新知
2023-03-14

phar文件格式实际上包含文件的“元数据”——参见http://php.net/manual/en/phar.fileformat.manifestfile.php

默认情况下,文件中不存储任何元数据。您可以使用PHP版本拉链中提供的制药工具进行检查:

$ phar meta-get -f phorkie-0.5.0.phar -e www/www-security.php
No Metadata

但是,既然您询问如何添加它们:使用元集

$ php -dphar.readonly=0 `which phar` meta-set -f phorkie-0.5.0.phar\
      -e www/www-security.php -m 's:8:"hi there";'
$ phar meta-get -f phorkie-0.5.0.phar -e www/www-security.php
s:8:"hi there";

以编程方式,您可以使用 PharFileInfo::setMetadata()。

 类似资料:
  • 问题内容: 我用Java编写了一个小的复制工具,用于复制USB记忆棒上的.mp3文件。复制新文件时,会保留一些文件属性,但不会保留创建时间。 要复制文件,我使用: 所以我的问题是,有没有办法节省文件创建时间?如果没有,我想我建立了一个用Windows robocopy复制的类。 问题答案: 如果您使用的是Java 7+,则可以使用: 如果那没有复制创建时间(在我的机器上也是如此),您也可以手动设置

  • 我的 tar 文件位于以下位置: 使用 tar 命令: 命令显示我: 我的计划或更好的愿望是这样处理: 我只想要一个tar文件并将其存储到不同的目录……但是这个带有-C的命令不起作用…它提取tar的所有文件…… 我的问题是,是否可以只提取一个Tar文件,而不将提取到目录中??另一个问题:是否有可能只提取tar文件而不提取文件夹这可能是更好的方法,但我不知道如何。。。? 不,没有路径我就不能保存文件

  • 问题内容: 我想知道如何创建一个jar文件,该文件保留其内容的文件权限。 我将源文件和可执行文件打包在一个jar文件中,该文件将在使用前提取。人们应该能够通过运行批处理/ shell脚本文件立即运行示例和演示。然后,他们应该能够修改源代码并重新编译所有内容。 我正在努力使使用它的人过上轻松的生活,其中包括Java和编程的新手,他们可能正在Linux / Unix上工作。 我可以访问运行Window

  • 问题 你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。 解决方案 任何时候你定义装饰器的时候,都应该使用 functools 库中的 @wraps 装饰器来注解底层包装函数。例如: import time from functools import wraps def timethis(func): ''' Decorato

  • 问题内容: 我想为我的PHP项目创建一个配置文件,但是我不确定执行此操作的最佳方法是什么。 到目前为止,我有3个想法。 1用途变量 2用建筑 3用途数据库 我将在类中使用config,因此我不确定哪种方法是最佳方法,或者是否有更好的方法。 问题答案: 一种简单而优雅的方法是创建一个仅返回数组的文件(或您所谓的文件): 然后:

  • 当我执行这个程序时,一切都很好: