PHP Untar-gz without exec()?
在不使用或任何其他命令的情况下,如何使用纯PHP在php中解tar-gz文件?exec('tar')
我的问题如下;我有一个26mb的tar.gz文件,需要上传到我的服务器并提取。我尝试过使用net2ftp来提取它,但它不支持tar.gz上传后解压缩。
我正在使用免费的Web主机,因此它们不允许任何命令,并且不允许访问提示。那么,我该如何去解开它呢?exec()
PHP 有内置命令吗?
在不使用或任何其他命令的情况下,如何使用纯PHP在php中解tar-gz文件?exec('tar')
我的问题如下;我有一个26mb的tar.gz文件,需要上传到我的服务器并提取。我尝试过使用net2ftp来提取它,但它不支持tar.gz上传后解压缩。
我正在使用免费的Web主机,因此它们不允许任何命令,并且不允许访问提示。那么,我该如何去解开它呢?exec()
PHP 有内置命令吗?
从 PHP 5.3.0 开始,您不需要使用 .Archive_Tar
有一个新的类可以处理 tar 存档:PharData 类。
要提取存档(使用 PharData::ExtractTo(),
其工作方式类似于):ZipArchive::extractTo()
try {
$phar = new PharData('myphar.tar');
$phar->extractTo('/full/path'); // extract all files
} catch (Exception $e) {
// handle errors
}
如果你有一个tar.gz存档,只需在提取之前解压缩它(使用PharData::d ecompress()
):
// decompress from gz
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
// unarchive from the tar
$phar = new PharData('/path/to/my.tar');
$phar->extractTo('/full/path');