@@ -19,21 +19,41 @@ if (!$archive->open($zipfile, ZipArchive::CREATE)) {
19
19
}
20
20
21
21
// (string) Entry path in the ZIP => (string) Expected actual target path
22
- $ paths = [
23
- '.a/b/c/file01.txt ' => '.a/b/c/file01.txt ' ,
24
- 'a./b/c/file02.txt ' => 'a./b/c/file02.txt ' ,
25
- 'a/.b/c/file03.txt ' => 'a/.b/c/file03.txt ' ,
26
- 'a/b./c/file04.txt ' => 'a/b./c/file04.txt ' ,
27
- 'a/b../c/file05.txt ' => 'a/b../c/file05.txt ' ,
28
- 'a/b.../c/file06.txt ' => 'a/b.../c/file06.txt ' ,
29
- 'a/..b/c/file07.txt ' => 'a/..b/c/file07.txt ' ,
30
- 'a/...b/c/file08.txt ' => 'a/...b/c/file08.txt ' ,
31
- 'a/../b./c./file09.txt ' => 'b./c./file09.txt ' ,
32
- '//../b./c./file10.txt ' => 'b./c./file10.txt ' ,
33
- '/../b./c./file11.txt ' => 'b./c./file11.txt ' ,
34
- 'C:/a./b./file12.txt ' => 'a./b./file12.txt ' ,
35
- 'a/b:/c/file13.txt ' => 'c/file13.txt ' ,
36
- ];
22
+ if (PHP_OS_FAMILY === 'Windows ' ) {
23
+ $ paths = [
24
+ '.a/b/c/file01.txt ' => '.a/b/c/file01.txt ' ,
25
+ 'a./b/c/file02.txt ' => 'a_/b/c/file02.txt ' ,
26
+ 'a/.b/c/file03.txt ' => 'a/.b/c/file03.txt ' ,
27
+ 'a/b./c/file04.txt ' => 'a/b_/c/file04.txt ' ,
28
+ 'a/b../c/file05.txt ' => 'a/b._/c/file05.txt ' ,
29
+ 'a/b.../c/file06.txt ' => 'a/b.._/c/file06.txt ' ,
30
+ 'a/..b/c/file07.txt ' => 'a/..b/c/file07.txt ' ,
31
+ 'a/...b/c/file08.txt ' => 'a/...b/c/file08.txt ' ,
32
+ 'a/../b./c./file09.txt ' => 'b_/c_/file09.txt ' ,
33
+ '//../b./c./file10.txt ' => 'b_/c_/file10.txt ' ,
34
+ '/../b./c./file11.txt ' => 'b_/c_/file11.txt ' ,
35
+ 'C:/a./b./file12.txt ' => 'a_/b_/file12.txt ' ,
36
+ 'a/b:/c/file13.txt ' => 'c/file13.txt ' ,
37
+ 'a/b/c/file14. ' => 'a/b/c/file14_ ' ,
38
+ ];
39
+ } else {
40
+ $ paths = [
41
+ '.a/b/c/file01.txt ' => '.a/b/c/file01.txt ' ,
42
+ 'a./b/c/file02.txt ' => 'a./b/c/file02.txt ' ,
43
+ 'a/.b/c/file03.txt ' => 'a/.b/c/file03.txt ' ,
44
+ 'a/b./c/file04.txt ' => 'a/b./c/file04.txt ' ,
45
+ 'a/b../c/file05.txt ' => 'a/b../c/file05.txt ' ,
46
+ 'a/b.../c/file06.txt ' => 'a/b.../c/file06.txt ' ,
47
+ 'a/..b/c/file07.txt ' => 'a/..b/c/file07.txt ' ,
48
+ 'a/...b/c/file08.txt ' => 'a/...b/c/file08.txt ' ,
49
+ 'a/../b./c./file09.txt ' => 'b./c./file09.txt ' ,
50
+ '//../b./c./file10.txt ' => 'b./c./file10.txt ' ,
51
+ '/../b./c./file11.txt ' => 'b./c./file11.txt ' ,
52
+ 'C:/a./b./file12.txt ' => 'a./b./file12.txt ' ,
53
+ 'a/b:/c/file13.txt ' => 'c/file13.txt ' ,
54
+ 'a/b/c/file14. ' => 'a/b/c/file14. ' ,
55
+ ];
56
+ }
37
57
38
58
foreach ($ paths as $ zippath => $ realpath ) {
39
59
$ archive ->addFromString ($ zippath , $ zippath . ' => ' . $ realpath );
0 commit comments