В PHP я создал tar-файл, используя объект Phar, но он не сохраняет информацию о файле, такую как время изменения, разрешения и т. Д.
Есть ли способ сохранить такую информацию в созданном файле tar?
Я пробовал buildFromDirectory (), addFile (), ничего не работает.
Формат файла phar на самом деле содержит «метаданные» для файлов — см. Описание в http://php.net/manual/en/phar.fileformat.manifestfile.php
По умолчанию метаданные не хранятся в файлах. Вы можете проверить это с помощью phar
Инструмент, представленный в ZIP-релизах PHP:
$ 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 ().
Других решений пока нет …