考虑到部分站长的网站处于发展中,虚拟主机不能满足需求,租用整台服务器成本过高,更会造成资源浪费,蓝点科技特征集并发动服务器合租活动。蓝点科技第1批双线服务器合租火热预定中,第一期优惠更多,已有11人合租,仅剩2个名额,预购从速!

09-08-23

文件压缩类,ZIP格式压缩

<?php

class zip
{
    public function infosZip ($src, $data=true)
    {
        if (($zip = zip_open(realpath($src))))
        {
            while (($zip_entry = zip_read($zip)))
            {
                $path = zip_entry_name($zip_entry);
                if (zip_entry_open($zip, $zip_entry, “r”))
                {
                    $content[$path] = array (
                        ‘Ratio’ => zip_entry_filesize($zip_entry) ? round(100-zip_entry_compressedsize($zip_entry) / zip_entry_filesize($zip_entry)*100, 1) : false,
                        ‘Size’ => zip_entry_compressedsize($zip_entry),
                        ‘NormalSize’ => zip_entry_filesize($zip_entry));
                    if ($data)
                        $content[$path]['Data'] = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                    zip_entry_close($zip_entry);
                }
                else
                    $content[$path] = false;
            }
            zip_close($zip);
            return $content;
        }
        return false;
    }
    public function extractZip ($src, $dest)
    {
        $zip = new ZipArchive;
        if ($zip->open($src)===true)
        {
            $zip->extractTo($dest);
            $zip->close();
            return true;
        }
        return false;
    }
    public function makeZip ($src, $dest)
    {
        $zip = new ZipArchive;
        $src = is_array($src) ? $src : array($src);
        if ($zip->open($dest, ZipArchive::CREATE) === true)
        {
            foreach ($src as $item)
                if (file_exists($item))
                    //$this->addZipItem($zip, realpath(dirname($item)).’/', realpath($item).’/');
     $this->addZipItem($zip, $item, $item);
            $zip->close();
            return true;
        }
        return false;
    }
    private function addZipItem ($zip, $racine, $dir)
    {
        if (is_dir($dir))
        {
            $zip->addEmptyDir(str_replace($racine, ”, $dir));
            $lst = scandir($dir);
                array_shift($lst);
                array_shift($lst);
            foreach ($lst as $item)
                $this->addZipItem($zip, $racine, $dir.$item.(is_dir($dir.$item)?’/':”));
        }
        elseif (is_file($dir))
            $zip->addFile($dir, str_replace($racine, ”, $dir));
    }
}

?>


蓝点科技第2批双线服务器合租火热预约中!

联系QQ:276335247

7x24小时客服电话:15891772586

*售前或使用中遇到任何问题请直接与在线客服联系。