我正在尝试使用 PHP 提取 tarball 中文件夹的内容。我正在使用以下 PHP 下载并解压缩存档:
<?php
function wget($address,$filename) {
file_put_contents($filename,file_get_contents($address));
}
$newdir = 'test';
echo '<br>Downloading latest gzipped WordPress tarball';
wget('http://wordpress.org/latest.tar.gz', 'latest.tar.gz');
echo '<br>about to Extract from gz';
// decompress from gz
$p = new PharData('latest.tar.gz');
$p->decompress(); // creates files.tar
echo '<br>Extracted from gz';
// unarchive from the tar
$phar = new PharData('latest.tar');
echo '<br>Un-TARd';
$phar->extractTo($newdir);
echo '<br>Complete';
?>
我的问题是这个脚本将 tarball 提取到了,/test/wordpress
而我需要它提取到/test/
. 我已经通读了 PHP.net 手册上的这个文档并替换了我的部分代码以满足那里的示例之一。我的代码是:
$phar->extractTo($newdir);
我把它改成:
$phar->extractTo($newdir, 'wordpress');
但这没有用。PHP 脚本处理到最后,但/test/
目录是空的。这样做的目的是在我们的本地开发服务器上创建一键式 WordPress 安装。
我知道该线程很旧,您可能找到了解决方案,但也许我会为其他人节省时间。
FuncionextractTo
需要在您要提取的目录名称末尾添加斜杠。
所以$phar->extractTo($newdir, 'wordpress/');
应该工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句