问题描述
也许是有意为之,但我觉得奇怪的是“PharData compress”将原始 tar 嵌套在压缩的 tar.gz 中。所以你必须打开.tar.gz,你会看到你必须再次打开的原始.tar?
代码:
$tarPath = $_SERVER['DOCUMENT_ROOT'].'api/sample2.tar';
$pharData = new PharData( $tarPath );
$pharData->addFile( $_SERVER['DOCUMENT_ROOT'].'api/callback_post.txt','callback_post.txt' );
$pharData->compress(Phar::GZ);
PHP 7.4
解决方法
这是两个不同的概念。 tar 打包文件,而 gz 压缩 tar 包。
你可以试试 ZipArchive
$zip = new ZipArchive;
$zip->open($_SERVER['DOCUMENT_ROOT'].'api/sample2.zip')
$zip->addFile($_SERVER['DOCUMENT_ROOT'].'api/callback_post.txt','callback_post.txt');
$zip->close();