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

时间:2015-02-06 23:24:23

标签: php tar phar

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

有没有办法在创建的tar文件中保存这些信息?

我试过buildFromDirectory(),addFile(),没什么用。

1 个答案:

答案 0 :(得分:0)

phar文件格式实际上包含文件的“元数据” - 请参阅http://php.net/manual/en/phar.fileformat.manifestfile.php上的说明

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

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

但是,既然你问过如何添加它们:meta-set

$ 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()