欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php关于zip的应用

程序员文章站 2022-05-23 20:20:06
...
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;	    	}			
php关于zip的应用

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

相关文章

相关视频