代码之家  ›  专栏  ›  技术社区  ›  Traveling_Monk

php中支持zip64?

  •  1
  • Traveling_Monk  · 技术社区  · 16 年前

    我有一个cron下载的文件是zip64格式的。

    如何使用php或php cmd()解压缩它?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Traveling_Monk    16 年前

    令人惊讶的是,Unix的解压工作刚刚开始!

    exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);
    
        2
  •  0
  •   Cheeso    16 年前

    我知道的几个选择。

    如果您的PHP在Windows上运行,则可以使用COM接口 DotNetZip .

    $zipInput = "c:\\temp\\zip-downloaded-by-cron.zip"; 
    $zip = new COM("Ionic.Zip.ZipFile");
    $zip->Initialize($zipInput);
    $dirForExtract= "c:\\temp\\extract";
    # optional password 
    $zip->Password = "AES-Encryption-Is-Secure";
    $zip->ExtractAll($dirForExtract);
    $zip->Dispose();
    

    对于dotnetzip,在必要时,在读取zip文件时,会自动使用zip64。

    或者,可以调用随DotNetZip提供的命令行工具。 除了Windows+.NET之外,它还具有在Linux+Mono上工作的优势。 该工具是unzip.exe,您只需调用(cmd) unzip.exe downloaded-zip.zip .它将自动处理zip64文件。unzip.exe上有一些选项,可以指定提取的位置、要提取的文件等。

        3
  •  0
  •   Cheeso    16 年前

    显然是波尔的 IO::Compress::Zip 模块支持Zip64。如果您安装起来足够舒适,可以通过 shell_exec() .