


Generate zip compressed files through php, supporting file and compressed package path search
/* * new creatZip($_dir,$_zipName); *@ _dir是被压缩的文件夹名称,可使用路径,例 'a'或者'a/test.txt'或者'test.txt' *@ _zipName是压缩后的压缩包名称,可使用路径,例 'a/test.zip'或者'test.zip' **/ class creatZip { private $_dir; private $_zipDir; private $_zipName; public function __construct($dir,$zipName) { $this->_dir = $dir; $this->_zipDir = basename($dir); $this->_zipName = $zipName; $this->mkdirs(); $this->creat(); } //检测并生成目录 private function mkdirs() { if (!is_dir(dirname($this->_zipName))) { $arr = explode('/', dirname($this->_zipName)); $arrs = ''; foreach($arr as $value) { if (!is_dir($arrs.$value)) { if (!!mkdir($arrs.$value)) { $arrs .= $value.'/'; } } } } } //生成Zip压缩包 private function creat() { $zip = new ZipArchive; if (is_dir($this->_dir)) { $this->readDir($this->_dir,$files); if ($zip->open($this->_zipName,ZipArchive::CREATE)) { foreach ($files as $value) { preg_match('//('.$this->_zipDir.'/.*)/', $value, $match); if (is_dir($value)) { @$zip->addEmptyDir($value, $match[1]); } else { @$zip->addFile($value, $match[1]); } } $zip->close(); } } else { if ($zip->open($this->_zipName,ZipArchive::CREATE)) { $zip->addFile($this->_dir, basename($this->_dir)); } } } //读取文件夹所有文件 private function readDir($dir,&$arr) { if ($dirs = opendir($dir)) { while (($file=readdir($dirs)) != false) { if ($file == '.' || $file == '..') continue; $files = $dir .'/'. $file; if (is_dir($files) && $this->isEmpty($files)) { $this->readDir($files,$arr); } else { $arr[] = $files; } } } closedir($dirs); } //判断文件夹是否为空 private function isEmpty($dir) { if ($_dirs = opendir($dir)) { while (($file=readdir($dirs)) != false) { if($file != '.' && $file != '..') { closedir($dirs); return true; break; } } closedir($dirs); return false; } } }
The above introduces the method of generating zip compressed files in PHP, which supports file and compressed package path search, including content on reading files. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!
Related articles:
How to use php to generate zip compressed files with detailed code

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

Configuring and running PHP on IIS requires the following steps: 1) Download and install PHP, 2) Configuring IIS and adding FastCGI module, 3) Create and set up an application pool, 4) Create a website and bind to an application pool. Through these steps, you can easily deploy PHP applications on your Windows server and improve application stability and efficiency by configuring scaling and optimizing performance.

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

Composer is a dependency management tool for PHP, and manages project dependencies through composer.json file. 1) parse composer.json to obtain dependency information; 2) parse dependencies to form a dependency tree; 3) download and install dependencies from Packagist to the vendor directory; 4) generate composer.lock file to lock the dependency version to ensure team consistency and project maintainability.
