From 6d710e9f5a3f56371fa2f4ebaa2c050d0346ab07 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Thu, 15 Aug 2019 14:05:22 +0800 Subject: [PATCH] Fix #5999 - delete on exit for temporary files --- Pman.php | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Pman.php b/Pman.php index 84fb106..a999995 100644 --- a/Pman.php +++ b/Pman.php @@ -379,13 +379,30 @@ class Pman extends HTML_FlexyFramework_Page * generate a tempory file with an extension (dont forget to delete it) */ - function tempName($ext) + function tempName($ext, $deleteOnExit=false) { + if ($deleteOnExit && self::$deleteOnExit === false) { + register_shutdown_function(array('Pman','deleteOnExit')); + self::$deleteOnExit = array(); + } $x = tempnam(ini_get('session.save_path'), HTML_FlexyFramework::get()->appNameShort.'TMP'); unlink($x); - return $x .'.'. $ext; + $ret = $x .'.'. $ext; + if ($deleteOnExit) { + self::$deleteOnExit[] = $ret; + } + return $ret; + } + static $deleteOnExit = false; + static function deleteOnExit() + { + + foreach(self::$deleteOnExit as $fn) { + unlink($fn); + } + } /** * ------------- Authentication password reset ------ ??? MOVEME? -- 2.39.2