File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -1572,6 +1572,9 @@ PHP_METHOD(ZipArchive, close)
15721572 ze_obj -> err_sys = 0 ;
15731573 }
15741574
1575+ /* clear cache as empty zip are not created but deleted */
1576+ php_clear_stat_cache (1 , ze_obj -> filename , ze_obj -> filename_len );
1577+
15751578 efree (ze_obj -> filename );
15761579 ze_obj -> filename = NULL ;
15771580 ze_obj -> filename_len = 0 ;
Original file line number Diff line number Diff line change 1+ --TEST--
2+ Bug GH-8781 (ZipArchive deletes zip file with no contents)
3+ --SKIPIF--
4+ <?php
5+ if (!extension_loaded ('zip ' )) die ('skip zip extension not available ' );
6+ ?>
7+ --FILE--
8+ <?php
9+ touch ($ file = __DIR__ . '/bug_gh8781.zip ' );
10+ var_dump (is_file ($ file ));
11+
12+ $ zip = new ZipArchive ();
13+ $ zip ->open ($ file , ZipArchive::CREATE | ZipArchive::OVERWRITE );
14+ $ zip ->close ();
15+
16+ var_dump (is_file ($ file ));
17+ ?>
18+ --EXPECT--
19+ bool(true)
20+ bool(false)
21+
You can’t perform that action at this time.
0 commit comments