Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Tmpfile Laravel Package

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.

View on GitHub
Deep Wiki
Context7

php-tmpfile

GitHub Tests Packagist Version Packagist Downloads GitHub license

A convenience class for temporary files.

Features

  • Create temporary file with arbitrary content
  • Delete file after use (can be disabled)
  • Send file to client, either inline or with save dialog, optionally with custom HTTP headers
  • Save file locally

Examples

<?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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin