You are here

function file_directory_temp in Drupal 4

Same name and namespace in other branches
  1. 8 core/includes/file.inc \file_directory_temp()
  2. 5 includes/file.inc \file_directory_temp()
  3. 6 includes/file.inc \file_directory_temp()
  4. 7 includes/file.inc \file_directory_temp()

Determine the default temporary directory.

Return value

A string containing a temp directory.

Related topics

6 calls to file_directory_temp()
file_check_directory in includes/file.inc
Check that the directory exists and is writable. Directories need to have execute permissions to be considered a directory by FTP servers, etc.
file_check_upload in includes/file.inc
Check if $source is a valid file upload. If so, move the file to Drupal's tmp dir and return it as an object.
file_create_path in includes/file.inc
Make sure the destination is a complete path and resides in the file system directory, if it is not prepend the file system directory.
file_save_data in includes/file.inc
Save a string to the specified destination.
file_save_upload in includes/file.inc
Saves a file upload to a new location. The source file is validated as a proper upload and handled as such.

... See full list

File

includes/file.inc, line 670
API for handling file uploads and server file management.

Code

function file_directory_temp() {
  $temporary_directory = variable_get('file_directory_temp', NULL);
  if (is_null($temporary_directory)) {
    $directories = array();

    // Has PHP been set with an upload_tmp_dir?
    if (ini_get('upload_tmp_dir')) {
      $directories[] = ini_get('upload_tmp_dir');
    }

    // Operating system specific dirs.
    if (substr(PHP_OS, 0, 3) == 'WIN') {
      $directories[] = 'c:\\windows\\temp';
      $directories[] = 'c:\\winnt\\temp';
      $path_delimiter = '\\';
    }
    else {
      $directories[] = '/tmp';
      $path_delimiter = '/';
    }
    foreach ($directories as $directory) {
      if (!$temporary_directory && is_dir($directory)) {
        $temporary_directory = $directory;
      }
    }

    // if a directory has been found, use it, otherwise default to 'files/tmp' or 'files\\tmp';
    $temporary_directory = $temporary_directory ? $temporary_directory : file_directory_path() . $path_delimiter . 'tmp';
    variable_set('file_directory_temp', $temporary_directory);
  }
  return $temporary_directory;
}