18.3.1 Problem
18.3.2 Solution
$temp_fh = tmpfile();
// write some data to the temp file
fputs($temp_fh,"The current time is ".strftime('%c'));
// the file goes away when the script ends
exit(1);
$tempfilename = tempnam('/tmp','data-');
$temp_fh = fopen($tempfilename,'w') or die($php_errormsg);
fputs($temp_fh,"The current time is ".strftime('%c'));
fclose($temp_fh) or die($php_errormsg);
18.3.3 Discussion
The function tmpfile( ) creates a file with a unique
name and returns a file handle. The file is removed when fclose( ) is
called on that file handle, or the script ends.
Alternatively, tempnam( ) generates a filename. It
takes two arguments: the first is a directory, and the second is a prefix for
the filename. If the directory doesn't exist or isn't writeable, tempnam(
) uses the system temporary directory — the TMPDIR environment
variable in Unix or the TMP environment variable in Windows. For
example:
$tempfilename = tempnam('/tmp','data-');
print "Temporary data will be stored in $tempfilename";
Temporary data will be stored in /tmp/data-GawVoL
Because of the way PHP generates temporary filenames, the
filename tempnam( ) returns is actually created but left empty, even if
your script never explicitly opens the file. This ensures another program won't
create a file with the same name between the time that you call tempnam(
) and the time you call fopen( ) with the filename.