我想将.tar.gz文件解压缩到特定文件夹中.我使用cURL从MailChimp批处理操作下载.tar.gz文件.我使用下面的代码来提取tar文件.
$phar = new \PharData('upload/test.tar.gz');
$phar->extractTo('upload/',null, true);
它正在开发Windows环境.但是在Linux(Ubuntu)上,我在运行上面的代码时遇到了以下错误.
Uncaught exception 'PharException' with message 'Extraction from phar "upload/test.tar" Failed: Cannot extract ".", internal error'
我已经为upload文件夹设置了默认的apache用户和组权限.
sudo chown -R www-data:www-data upload/
PHP版本:5.6.24
我附上了示例.tar.gz文件:http://www.simbanic.com/_projects/test/05c902076e.tar.gz
解决方法:
我对MailChimp批处理响应存档有同样的问题.
愚蠢的解决方案,但它的工作原理……
$p = new PharData($tarGzArchive, RecursiveDirectoryIterator::SKIP_DOTS);
$p->convertToData(Phar::ZIP);
$zip = new ZipArchive;
$res = $zip->open($createdZipArchive);
if ($res === TRUE) {
$zip->extractTo($destinationPath);
$zip->close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。