PluginProbe ʕ •ᴥ•ʔ
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel / 1.3.2
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel v1.3.2
trunk 0.9.0 0.9.1 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2.0 1.2.1 1.2.10 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0
wp-all-export / classes / zip.php
wp-all-export / classes Last commit date
CdataStrategy.php 8 years ago CdataStrategyAlways.php 8 years ago CdataStrategyFactory.php 9 years ago CdataStrategyIllegalCharacters.php 8 years ago CdataStrategyIllegalCharactersHtmlEntities.php 8 years ago CdataStrategyNever.php 8 years ago XMLWriter.php 8 years ago chunk.php 5 years ago config.php 7 years ago download.php 6 years ago handler.php 10 years ago helper.php 12 years ago input.php 7 years ago installer.php 9 years ago session.php 10 years ago wpallimport.php 4 years ago zip.php 10 years ago
zip.php
54 lines
1 <?php
2
3 if ( ! class_exists('PMXE_Zip')){
4
5 class PMXE_Zip
6 {
7 /**
8 * Add files and sub-directories in a folder to zip file.
9 * @param string $folder
10 * @param ZipArchive $zipFile
11 * @param int $exclusiveLength Number of text to be exclusived from the file path.
12 */
13 private static function folderToZip($folder, &$zipFile, $exclusiveLength) {
14 $handle = opendir($folder);
15 while (false !== $f = readdir($handle)) {
16 if ($f != '.' && $f != '..') {
17 $filePath = "$folder/$f";
18 // Remove prefix from file path before add to zip.
19 $localPath = substr($filePath, $exclusiveLength);
20 if (is_file($filePath)) {
21 $zipFile->addFile($filePath, $localPath);
22 } elseif (is_dir($filePath)) {
23 // Add sub-directory.
24 $zipFile->addEmptyDir($localPath);
25 self::folderToZip($filePath, $zipFile, $exclusiveLength);
26 }
27 }
28 }
29 closedir($handle);
30 }
31
32 /**
33 * Zip a folder (include itself).
34 * Usage:
35 * PMXE_Zip::zipDir('/path/to/sourceDir', '/path/to/out.zip');
36 *
37 * @param string $sourcePath Path of directory to be zip.
38 * @param string $outZipPath Path of output zip file.
39 */
40 public static function zipDir($sourcePath, $outZipPath)
41 {
42 $pathInfo = pathInfo($sourcePath);
43 $parentPath = $pathInfo['dirname'];
44 $dirName = $pathInfo['basename'];
45
46 $z = new ZipArchive();
47 $z->open($outZipPath, ZIPARCHIVE::CREATE);
48 $z->addEmptyDir($dirName);
49 self::folderToZip($sourcePath, $z, strlen("$parentPath/"));
50 $z->close();
51 }
52 }
53
54 }