php - 从 zip 内的目录中删除文件

标签 php zip

我有一个名为 project.zip 的 zip 文件,其结构如下:

project.zip  
  \project  
    \file.pdf  

我需要删除 file.pdf。我尝试了以下代码,但出现错误。
谢谢

$zip = new ZipArchive(); 

    $zip_name = 'path\to\project.zip';

    $zip->open( $zip_name );

    $zip->deleteName( 'project\file.pdf' ); 

    $zip->close();

我也尝试过使用前导反斜杠,但没有成功,

$zip->deleteName( 'prject\file.pdf' );

最佳答案

这很奇怪,但似乎您需要在文件名中包含 zip 文件的基本名称,如下所示:

$zip->deleteName( 'project/project/file.pdf' );

尝试这样的操作来查看 zip 中的文件名值:

for ($i = 0; $i < $zip->numFiles; $i++) {
    $filename = $zip->getNameIndex($i);
    echo $filename . "<br>";
}

完成后别忘了拉上 zipper

$zip->close();

关于php - 从 zip 内的目录中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17330828/

相关文章:

php - 什么时候在php中加载数据库

php - 使用 php 将文件添加到 rar 存档

c# - 如何使用 SharpZipLib 在 C# 中创建超过 7 GB 的 zip 文件?

java - 在java中获取zip文件夹中的文件作为字符串

php - 由于表锁定,ajax 未完成进程

php - 如何从我的 PHP 服务器生成和导出大 CSV 文件?

php - HTML5 的 Canvas 可以处理在其中绘制的多个图像吗?

Ruby 压缩流

java - 如何在 Java 中找到 ZipFile 条目的文件偏移量?

php - 使用 Laravel 获取公共(public) IP 地址