• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ZipArchive::deleteIndex()

    (PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)

    Delete an entry in the archive using its index

    说明

    ZipArchive::deleteIndex(int $index): bool

    Delete an entry in the archive using its index.

    参数

    $index

    Index of the entry to delete.

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Delete file from archive using its index

    <?php
    $zip = new ZipArchive;
    if ($zip->open('test.zip') === TRUE) {
        $zip->deleteIndex(2);
        $zip->close();
        echo 'ok';
    } else {
        echo 'failed';
    }
    ?>
    
    I'm trying to delete file using deleteName and deleteIndex, it returns true but files are not removed. can anybody tell me how could it be?
    Here is code snippet
    $zip = new ZipArchive ;
    $zipname = "www.zip" ;
    chmod( $zipname, 0777 ) ;
    if ( $zip->open( $zipname ) )
    {
       $loop = $zip->numFiles ;
      for ( $i = 0; $i < $loop; $i++ )
      {
        
        var_dump($zip->deleteIndex( $i )) ;
        var_dump(deleteName($zip->getNameIndex( $i )). "/") ;
      } 
    }$zip->close() ;