在PHP中,我使用Phar对象创建了tar文件,但它没有保存文件信息,如修改时间,权限等。
有没有办法在创建的tar文件中保存这些信息?
我试过buildFromDirectory(),addFile(),没什么用。
答案 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()。