加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

删除php中的zip文件夹

发布时间:2020-12-13 17:19:47 所属栏目:PHP教程 来源:网络整理
导读:我有一个zip文件(skins.zip)的结构, 黄色 ??| _resources ??| _theme ??| _codes 我需要在skins.zip中删除名为“theme”的文件夹.我尝试过以下代码,但没有奏效. $zip = new ZipArchive; if ($zip-open('skins.zip') === TRUE) { $zip-deleteName('yellow/the
我有一个zip文件(skins.zip)的结构,

黄色
??| _resources
??| _theme
??| _codes

我需要在skins.zip中删除名为“theme”的文件夹.我尝试过以下代码,但没有奏效.

$zip = new ZipArchive;
    if ($zip->open('skins.zip') === TRUE) {
        $zip->deleteName('yellow/theme/');
        $zip->close();
    }

有人帮帮我,谢谢!

解决方法

刚刚写了这个,留下调试print_r给你以了解发生了什么,这里:

<pre><?php
$z = new ZipArchive;
$folder_to_delete = "gifresizer/resized/";  //folder to delete relative to root
if($z->open("gifresizer.zip")===TRUE){      //zip file name
    print_r($z);
    for($i=0;$i<$z->numFiles;$i++){
        $entry_info = $z->statIndex($i);
        print_r($entry_info);
        if(substr($entry_info["name"],strlen($folder_to_delete))==$folder_to_delete){
            $z->deleteIndex($i);
        }
    }
}
?>

并将其余部分留给代码.

它输出这样的东西:

ZipArchive Object
(
    [status] => 0
    [statusSys] => 0
    [numFiles] => 10
    [filename] => C:xampphtdocstestzipdeletegifresizer.zip
    [comment] => 
)
Array
(
    [name] => gifresizer/
    [index] => 0
    [crc] => 0
    [size] => 0
    [mtime] => 1339360746
    [comp_size] => 0
    [comp_method] => 0
)
Array
(
    [name] => gifresizer/frames/
    [index] => 1
    [crc] => 0
    [size] => 0
    [mtime] => 1328810540
    [comp_size] => 0
    [comp_method] => 0
)
Array
(
    [name] => gifresizer/gifresizer.php
    [index] => 2
    [crc] => 1967518989
    [size] => 18785
    [mtime] => 1328810430
    [comp_size] => 3981
    [comp_method] => 8
)

etc..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读