mikehaertl/php-tmpfile
Create and manage secure temporary files in PHP with an object-oriented API. php-tmpfile handles creation, automatic cleanup, and safe paths across platforms—ideal for generating intermediate output, working with CLI tools, or handling uploads without manual temp file housekeeping.
A convenience class for temporary files.
<?php
use mikehaertl\tmp\File;
$file = new File('some content', '.html');
// send to client for download
$file->send('home.html');
// ... with custom content type (autodetected otherwhise)
$file->send('home.html', 'application/pdf');
// ... for inline display (download dialog otherwhise)
$file->send('home.html', 'application/pdf', true);
// ... with custom headers
$file->send('home.html', 'application/pdf', true, [
'X-Header' => 'Example',
]);
// save to disk
$file->saveAs('/dir/test.html');
// Access file name and directory
echo $file->getFileName();
echo $file->getTempDir();
If you want to keep the temporary file, e.g. for debugging, you can set the $delete property to false:
<?php
use mikehaertl\tmp\File;
$file = new File('some content', '.html');
$file->delete = false;
Default HTTP headers can also be added:
<?php
use mikehaertl\tmp\File;
File::$defaultHeader['X-Header'] = 'My Default';
$file = new File('some content', '.html');
$file->send('home.html');
The $ignoreUserAbort option (on by default) mitigates an issue where the file
was not deleted if the user closes the connection during a download. Try setting
it to false if you experience unexpected behavior.
How can I help you explore Laravel packages today?