You need a file to temporarily hold some data.
If the file needs to last only the duration of the running script, use tmpfile():
1 2 3 4 5 |
$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); |
If the file needs to last longer, generate a filename with tempnam(), and then use fopen():
1 2 3 4 |
$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); |
The tmpfile() function creates a file with a unique name and returns a filehandle. The file is removed when fclose() is called on that filehandle, 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 writable, tempnam() uses the system temporary directory—the TMPDIR environment variable in Unix or the TMP environment variable in Windows.
This example shows what tempnam() generates:
1 2 |
$tempfilename = tempnam('/tmp','data-'); print "Temporary data will be stored in $tempfilename"; |
This prints:
Because of the way PHP generates temporary filenames, a file with the filename that 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.