PHP - 无法解压缩上传的文件

时间:2016-03-11 14:49:31

标签: php zip fopen unzip fclose

我正在运行2个简单的功能:

<?php
    $zipUrl = "path_of_original.zip"
    $zipFilename = "local_path_and_name_of.zip"
    $unzipPath = "destination_of_unzipped_files"

    upload_archive ($zipUrl, $zipFilename);
    unzip_archive ($zipFilename, $unzipPath);
?>
  • 第1天,在服务器上上传.zip档案

    function upload_archive ($zipUrl, $zipFilename){
        define('BUFSIZ', 4095);
        $rfile = fopen($zipUrl, 'r');
        $lfile = fopen($zipFilename, 'w');
    
        while(!feof($rfile))
            fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
    
        fclose($rfile);
        fclose($lfile);}
    
  • 第二个,解压缩档案

    function unzip_archive ($zipFilename, $unzipPath){
        $zip = new ZipArchive;
        $res = $zip->open($zipFilename);
    
        if ($res === TRUE) {
            $zip->extractTo($unzipPath);
            $zip->close();
            echo 'success!';
        } else {
            echo 'error!';
        }
    }
    

当这两个函数分别执行时,一切都很好,但是当按顺序执行时,我无法理解第二个函数的输出(解压缩)。

我认为问题在于.zip文件仍被第一个函数锁定写入。

任何建议?

安吉洛。

0 个答案:

没有答案