1 file.inc | backdrop_tempnam($directory, $prefix) |
Creates a file with a unique filename in the specified directory.
PHP's tempnam() does not return a URI like we want. This function will return a URI if given a URI, or it will return a filepath if given a filepath.
Compatibility: normal paths and stream wrappers.
Parameters
$directory: The directory where the temporary filename will be created.
$prefix: The prefix of the generated temporary filename. Note: Windows uses only the first three characters of prefix.
Return value
The new temporary filename, or FALSE on failure.:
See also
tempnam()
Related topics
File
- core/
includes/ file.inc, line 2723 - API for handling file uploads and server file management.
Code
function backdrop_tempnam($directory, $prefix) {
$scheme = file_uri_scheme($directory);
if ($scheme && file_stream_wrapper_valid_scheme($scheme)) {
$wrapper = file_stream_wrapper_get_instance_by_scheme($scheme);
if ($filename = tempnam($wrapper->getDirectoryPath(), $prefix)) {
return $scheme . '://' . backdrop_basename($filename);
}
else {
return FALSE;
}
}
else {
// Handle as a normal tempnam() call.
return tempnam($directory, $prefix);
}
}