file_directory_temp

Definition

file_directory_temp()
drupal/includes/file.inc, line 1322

Description

Determine the default temporary directory.

Return value

A string containing a temp directory.

Related topics

Namesort iconDescription
File interfaceCommon file handling functions.

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';
    }
    else {
      $directories[] = '/tmp';
    }

    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'
    $temporary_directory = $temporary_directory ? $temporary_directory : file_directory_path() . '/tmp';
    variable_set('file_directory_temp', $temporary_directory);
  }

  return $temporary_directory;
}