使用php PharData使用空目录提取tar存档
发布时间:2020-12-13 22:46:35 所属栏目:PHP教程 来源:网络整理
导读:我试图通过 PHP提取.tar存档. 我正在使用这样的代码: $phar = new PharData('test.tar');$phar-extractTo('/home/user/newtest'); 它工作正常,但如果我的存档包含en空目录,它不会被提到的代码提取.所以,如果我的.tar文件具有以下结构: user@computer:~/tes
我试图通过
PHP提取.tar存档.
我正在使用这样的代码: $phar = new PharData('test.tar'); $phar->extractTo('/home/user/newtest'); 它工作正常,但如果我的存档包含en空目录,它不会被提到的代码提取.所以,如果我的.tar文件具有以下结构: user@computer:~/test$tar -tvf test.tar drwxrwxr-x user/user 0 2012-12-07 22:35 dir1/ -rw-rw-r-- user/user 798 2012-10-28 23:41 dir1/articles.txt drwxrwxr-x user/user 0 2012-12-07 22:35 emptyDir/ -rw-rw-r-- user/user 834 2012-09-15 22:47 main.html 我打开包装后得到: user@computer:~/newtest$ls -l drwxrwxr-x 2 user user 4096 Dec. 7 22:35 dir1 -rw-rw-r-- 1 user user 834 Sep. 15 22:47 main.html 因此,不提取空的’emptyDir’. 有谁知道如何修理它? 提前感谢您的帮助! 解决方法
看起来test.tar是在命令行上使用tar -cf test.tar …创建的. PHP的Phar库旨在读取phar档案,而不是tar档案.
PHP Manual显示了phar,tar和zip之间的差异.当然,PharData应该用于tar档案,所以你可能想要report this as a bug给PHP开发人员. 目前,如果要在PHP中提取tar存档,则有三个选项: >使用PHP中的Phar库创建存档,然后在PHP中解压缩 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |