Skip to content

Commit 3d2cd16

Browse files
committed
Ensure temp file in pclzipAddFile() removed
Make pclzipAddFile() similar to pclzipAddFromString() in removing temporary files.
1 parent a2294b4 commit 3d2cd16

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/PhpWord/Shared/ZipArchive.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,9 @@ public function pclzipAddFile($filename, $localname = null)
224224

225225
// To Rename the file while adding it to the zip we
226226
// need to create a temp file with the correct name
227+
$temp_file = false;
227228
if ($filenameParts['basename'] != $localnameParts['basename']) {
229+
$temp_file = true; // temp file created
228230
$temppath = $this->tempDir . '/' . $localnameParts['basename'];
229231
copy($filename, $temppath);
230232
$filename = $temppath;
@@ -236,6 +238,11 @@ public function pclzipAddFile($filename, $localname = null)
236238

237239
$res = $zip->add($filename, PCLZIP_OPT_REMOVE_PATH, $pathRemoved, PCLZIP_OPT_ADD_PATH, $pathAdded);
238240

241+
if($temp_file) {
242+
// Remove temp file, if created
243+
@unlink($this->tempDir . '/' . $localnameParts["basename"]);
244+
}
245+
239246
return ($res == 0) ? false : true;
240247
}
241248

0 commit comments

Comments
 (0)