From: Alan Knowles Date: Thu, 15 Aug 2019 06:05:22 +0000 (+0800) Subject: Fix #5999 - delete on exit for temporary files X-Git-Url: http://git.roojs.org/?p=Pman.Base;a=commitdiff_plain;h=6d710e9f5a3f56371fa2f4ebaa2c050d0346ab07 Fix #5999 - delete on exit for temporary files --- 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?