我试图使用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安装。
发布于 2019-07-31 12:13:34
我知道线程很旧,您可能找到了解决方案,但也许我可以节省其他人的时间。
Funcion extractTo希望在要提取的目录名的末尾使用斜杠。
所以$phar->extractTo($newdir, 'wordpress/');应该能工作。
https://stackoverflow.com/questions/44367836
复制相似问题