我有一个具有以下结构的 tar.gz 文件:
folder1/img.gif
folder2/img2.gif
folder3/img3.gif
我想提取没有文件夹层次结构的图像文件,因此提取的结果如下所示:
/img.gif
/img2.gif
/img3.gif
我需要结合使用 Unix 和 PHP 来完成此任务。这是我到目前为止所拥有的,它可以将它们提取到指定的目录,但保留文件夹层次结构:
exec('gtar --keep-newer-files -xzf images.tgz -C /home/user/public_html/images/',$ret);
您可以使用--条带组件焦油选项。
--strip-components count
(x mode only) Remove the specified number of leading path ele-
ments. Pathnames with fewer elements will be silently skipped.
Note that the pathname is edited after checking inclusion/exclu-
sion patterns but before security checks.
我创建了一个与您的结构类似的 tar 文件:
$tar -tf tarfolder.tar
tarfolder/
tarfolder/file.a
tarfolder/file.b
$ls -la file.*
ls: file.*: No such file or directory
然后通过执行以下操作提取:
$tar -xf tarfolder.tar --strip-components 1
$ls -la file.*
-rw-r--r-- 1 ericgorr wheel 0 Jan 12 12:33 file.a
-rw-r--r-- 1 ericgorr wheel 0 Jan 12 12:33 file.b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)