如何exec('tar')使用纯PHP 在不使用或任何其他命令的情况下解压缩php中的文件?
我的问题如下; 我有一个26mb tar.gz文件,需要上传到我的服务器并解压缩.我曾尝试使用net2ftp来提取它,但上传后它不支持tar.gz解压缩.
我正在使用免费的Web主机,因此他们不允许任何exec()命令,并且他们不允许访问提示.那么我该如何解决这个问题呢?
PHP有内置命令吗?
j0k*_*j0k 45
从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
}
Run Code Online (Sandbox Code Playgroud)
如果你有一个tar.gz存档,只需在解压缩(使用PharData::decompress())之前将其解压缩:
// 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');
Run Code Online (Sandbox Code Playgroud)