首页 后端开发 php教程 php关于zip的应用

php关于zip的应用

Jun 13, 2016 pm 01:06 PM
path zip

php关于zip的使用

/**
	 * 
	 * 创建压缩包
	 * @param array $arr 需要压缩的文件部分路径和文件名,形如 array(
	 *   '/file/upload/1.php',
	 *   '/file/upload/2011/1.jpg',
	 * )
	 * 
	 * @return string 压缩包的部分路径和文件名,形如/file/uplaod/zip/123.zip
	 */
	public static function zip($arr)
	{
	    //首先我建立一个目录
	    $save_path = '/file/upload/zip' . Dat::getHourPath();
	    $path = APPLICATION_PATH . '/destoon' . $save_path;
	    Sys::createDir($path);
	    
	    $zipname = strval(time()) . mt_rand(100000, 999999) . '.zip';
	    $zip_fullname = $path . '/' . $zipname;
	    $zip_obj = new ZipArchive();
        if ($zip_obj->open($zip_fullname, ZIPARCHIVE::CREATE) !== true) { 
            return false; 
        } 
        foreach ($arr as $value) { 
        //  $zip->addFile($path, mb_convert_encoding ( basename($path), 'GBK'  ,'UTF-8')); 
            $zip_obj->addFile( APPLICATION_PATH . '/destoon' . $value, basename($value) ); 
        } 
        $zip_obj->close();
        return $save_path . '/' . $zipname;
	    
	}
	
	/**
	 * 解压缩
	 * 
	 * @param string $zipname 压缩包的部分路径和文件名,形如'/file/upload/1.zip'
	 * @param string $path 解压后的文件夹全路径
	 * 
     * @return array 解压后的文件数组,部分路径和文件名,形如array(
     *     '/file/1.php',
     *     '/file/12.png',
     * )
	 */
	public static function unzip($zipname , $path='')
	{
	    if (!$path ) {
	        $path = '/file/tempzip_folder/' .
               strval(time()) . mt_rand(100000, 999999);
	    
            $newpath = APPLICATION_PATH . '/destoon' . $path; 
	    }
	    else {
	        $newpath = $path;
	        $path = preg_replace('#^.+/destoon(.+)$#', '$1', $newpath);
	    }
	    
        Sys::createDir($newpath);
            
        $filename = APPLICATION_PATH . '/destoon' . $zipname;
        //第一件事是解压
        $zip = new ZipArchive();
        $arr = array();
        if ($zip->open($filename) === true) {
            $zip->extractTo($newpath);
            $zip->close();
            
            $temp = scandir($newpath);
            foreach ($temp as $value) {
                if ($value != '.' && $value != '..') {
                    $arr[] = $path . '/' . basename($value);
                }
            }
        }
        return $arr;
	    
	}
	
	
	
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

设置Linux系统的PATH环境变量步骤 设置Linux系统的PATH环境变量步骤 Feb 18, 2024 pm 05:40 PM

Linux系统如何设置PATH环境变量在Linux系统中,PATH环境变量用于指定系统在命令行中搜索可执行文件的路径。正确设置PATH环境变量可以方便我们在任何位置执行系统命令和自定义命令。本文将介绍如何在Linux系统中设置PATH环境变量,并提供详细的代码示例。查看当前的PATH环境变量在终端中执行以下命令,可以查看当前的PATH环境变量:echo$P

HTML 文件压缩成 ZIP 的最佳指南 HTML 文件压缩成 ZIP 的最佳指南 Apr 09, 2024 pm 04:09 PM

压缩HTML文件成ZIP可提高页面加载速度。方法包括:使用在线工具(如FileOptimizer、TinyPNG)使用命令行工具(如gzip、7-zip)使用Node.js脚本(使用zlib模块)

linux压缩zip命令怎么用 linux压缩zip命令怎么用 Oct 08, 2023 pm 01:25 PM

zip命令是Linux系统中一个非常有用的压缩工具。通过使用zip命令,您可以轻松地将文件和目录压缩成一个zip文件,并节省存储空间和方便传输。zip命令的基本语法为“zip [选项] [压缩文件名] [要压缩的文件或目录]”。

centos7下解压文件命令(zip)详解 centos7下解压文件命令(zip)详解 Jan 07, 2024 pm 06:30 PM

1.压缩文件夹为zip文件[root@cgls]#zip-rmydata.zipmydata2.把mydata.zip解压到mydatabak目录里面[root@cgls]#unzipmydata.zip-dmydatabak3.mydata01文件夹和mydata02.txt压缩成为mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4.直接解压mydata.zip文件[root@cgls]#unzipmydata.zip5.查看myd

如何设置path环境变量 如何设置path环境变量 Sep 04, 2023 am 11:53 AM

设置path环境变量的方法:1、Windows系统,打开“系统属性”,点击“属性”选项,点击“高级系统设置”,在“系统属性”窗口中,选择“高级”标签,然后点击“环境变量”按钮,找到并点击“Path”编辑保存后即可;2、Linux系统,打开终端,打开你的bash配置文件,在文件末尾添加“export PATH=$PATH:文件路径”保存即可;3、MacOS系统,操作同上。

如何使用Java中的Zip函数进行文件压缩 如何使用Java中的Zip函数进行文件压缩 Jun 26, 2023 pm 02:10 PM

压缩文件是一种常见的操作,能够节省磁盘的空间以及网络传输的时间,而Java中提供了Zip函数用于实现文件的压缩。本文将通过详细的介绍和实例演示来展示如何使用Java中的Zip函数进行文件压缩。一、Zip函数介绍Zip函数是Java中提供的压缩和打包工具类库,使用该函数可以将文件或文件夹压缩成一个Zip格式的文件。Zip函数中主要使用了ZipOutputStr

轻松掌握 HTML 文件 ZIP 压缩秘诀 轻松掌握 HTML 文件 ZIP 压缩秘诀 Apr 09, 2024 pm 05:36 PM

HTML文件ZIP压缩可以通过Python的zipfile模块实现:创建ZIP文件对象。向ZIP文件添加HTML文件。关闭ZIP文件对象。

如何正确设置Linux中的PATH环境变量 如何正确设置Linux中的PATH环境变量 Feb 22, 2024 pm 08:57 PM

如何正确设置Linux中的PATH环境变量在Linux操作系统中,环境变量是用来存储系统级别的配置信息的重要机制之一。其中,PATH环境变量被用来指定系统在哪些目录中查找可执行文件。正确设置PATH环境变量是确保系统正常运行的关键一步。本文将介绍如何正确设置Linux中的PATH环境变量,并提供具体的代码示例。1.查看当前PATH环境变量在终端中输入以下命

See all articles