ZipArchive:在addFile()之后使用getFromName()并不起作用

时间:2016-03-19 02:13:25

标签: php ziparchive

我通过getFromName($name)addFile($name)添加文件后尝试使用addFromString($name, $contents)方法。

就我而言,我没有加载现有的zip文件,但是我使用open($name)在临时目录中创建了该文件。

该文件已正常添加,当我执行var_dump()ZipArchive实例时,我得到:

class ZipArchive {
  public $status    => int(0)
  public $statusSys => int(0)
  public $numFiles  => int(1)
  public $filename  => string(45) "C:\Temp\Zip576D.tmp"
  public $comment   => string(0)  ""
}

请注意,$numFiles正确显示1,如果我调用close(),则会在添加此文件时正常创建文件。但是如果我使用getFromName("test"),它总是返回false而不是文件内容。

您可以在此处运行代码示例:live example

<?php

    $archive = new ZipArchive;
    $archive->addFromString('test.bin', 'test');

    $status = $archive->getFromName('test.bin');

    echo $status === false ? 'FAIL' : 'SUCCESS: ' . $status;

?>

相关:bugs.php.net: Cannot decompress newly added files.

0 个答案:

没有答案