(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)
ZipArchive::deleteName — delete an entry in the archive using its name
$name
   )Delete an entry in the archive using its name.
nameName of the entry to delete.
   Returns TRUE on success or FALSE on failure.
  
Example #1 Deleting a file and directory from an archive, using names
<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->deleteName('testDir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>