![](/img/trans.png)
[英]PHP PharData: build .tar archive from directory, with exclusions
[英]Extract tar archive with empty directories with php PharData
我試圖通過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手冊顯示了phar,tar和zip之間的差異。 當然,PharData 應該用於tar檔案,因此您可能希望將此報告為 PHP開發人員的錯誤 。
目前,如果要在PHP中提取tar
存檔,則有三個選項:
Phar
庫創建存檔,然后在PHP中解壓縮 tar
和tar.gz
文件)。 exec("tar -xf test.tar -C /home/user/newtest");
( 不推薦,但會起作用)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.