zoukankan      html  css  js  c++  java
  • php unzip

    //            $zip = new ZipArchive;
    //            $res = $zip->open($filePath);
    //            if ($res === TRUE) {
    //                Log::info("unzip success");
    //                //解压缩到test文件夹
    //                $zip->extractTo('data');   // trans-10001-20180419-xls.zip
    //                $zip->close();
    //            } else {
    //                Log::info('failed, code:' . $res);
    //            }
    if (!function_exists('unZip')) {
        function unZip($dir)
        {
            $zip = zip_open($dir);
            $dirnames = dirname($dir);
    
            if ($zip) {
                while ($zip_entry = zip_read($zip)) {
                    if (zip_entry_open($zip, $zip_entry, "r")) {
                        $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));    // 读取zip文件, 并制定读取的长度
    
                        $fname = $dirnames . '/' . zip_entry_name($zip_entry);
                        if (is_dir($fname))                                           // 如果是目录则创建目录(目录是未创建的)
                        {
                            mk_dir($dirnames . '/' . zip_entry_name($zip_entry));
                        } else                                                         // 是文件
                        {
                            mk_dir(dirname($fname));
                            file_put_contents($fname, $buf);                          // 将读取到的内容直接写入文件
                        }
                        zip_entry_close($zip_entry);
                    }
                }
                zip_close($zip);
            }
        }
    }
    
    if (!function_exists('mk_dir')) {
        // 循环创建目录
        function mk_dir($dir, $mode = 0777)
        {
            if (is_dir($dir) || @mkdir($dir, $mode)) {
                return true;
            }
            if (!mk_dir(dirname($dir), $mode)) {
                return false;
            }
            return @mkdir($dir, $mode);
        }
    }




  • 相关阅读:
    Leetcode Substring with Concatenation of All Words
    Leetcode Divide Two Integers
    Leetcode Edit Distance
    Leetcode Longest Palindromic Substring
    Leetcode Longest Substring Without Repeating Characters
    Leetcode 4Sum
    Leetcode 3Sum Closest
    Leetcode 3Sum
    Leetcode Candy
    Leetcode jump Game II
  • 原文地址:https://www.cnblogs.com/akidongzi/p/8931033.html
Copyright © 2011-2022 走看看