首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用php解压文件

用php解压文件
EN

Stack Overflow用户
提问于 2012-01-17 10:38:32
回答 7查看 365.6K关注 0票数 225

我想解压缩一个文件,这样就可以了。

system('unzip File.zip');

但是我需要通过URL传入文件名,并且无法使其工作,这就是我所拥有的。

$master = $_GET["master"];
system('unzip $master.zip'); 

我遗漏了什么?我知道这一定是我忽略的一些小而愚蠢的事情。

谢谢,

EN

回答 7

Stack Overflow用户

发布于 2012-01-17 10:45:50

请不要那样做(传递GET var作为系统调用的一部分)。请改用ZipArchive

因此,您的代码应该如下所示:

$zipArchive = new ZipArchive();
$result = $zipArchive->open($_GET["master"]);
if ($result === TRUE) {
    $zipArchive ->extractTo("my_dir");
    $zipArchive ->close();
    // Do something else on success
} else {
    // Do something on error
}

为了回答你的问题,你的错误是"something $var something quotes“应该是”something $var something quotes“(用双引号引起来)。

票数 41
EN

Stack Overflow用户

发布于 2018-02-14 06:41:48

使用getcwd()在同一目录中解压

<?php
$unzip = new ZipArchive;
$out = $unzip->open('wordpress.zip');
if ($out === TRUE) {
  $unzip->extractTo(getcwd());
  $unzip->close();
  echo 'File unzipped';
} else {
  echo 'Error';
}
?>
票数 11
EN

Stack Overflow用户

发布于 2019-09-07 21:01:36

用于解压的简单PHP函数。请确保您的服务器上安装了zip扩展。

/**
 * Unzip
 * @param string $zip_file_path Eg - /tmp/my.zip
 * @param string $extract_path Eg - /tmp/new_dir_name
 * @return boolean
 */
function unzip(string $zip_file_path, string $extract_dir_path) {
    $zip = new \ZipArchive;
    $res = $zip->open($zip_file_path);
    if ($res === TRUE) {
        $zip->extractTo($extract_dir_path);
        $zip->close();
        return TRUE;
    } else {
        return FALSE;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8889025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档