Path-based tmpfile in PHP
March 5, 2013
PHP has the tmpfile
function for creating a file handle which will automatically be destroyed when it is closed or when the script ends. PHP also has the tempnam
function which takes care of creating the file and returning the path, but doesn't automatically destroy the file.
To get the best of both worlds (temp file + auto-destroy), I have found this useful:
function tmpfilepath() {
$path = stream_get_meta_data(tmpfile())['uri'];
register_shutdown_function(
function () use ($path) {
unlink($path);
}
);
return $path;
}