You are here

function file_directory_temp in Drupal 6

Same name and namespace in other branches
  1. 8 core/includes/file.inc \file_directory_temp()
  2. 4 includes/file.inc \file_directory_temp()
  3. 5 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

8 calls to file_directory_temp()
file_check_directory in includes/file.inc
Checks whether a directory exists and is writable.
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.
install_main in ./install.php
The Drupal installation happens in a series of steps. We begin by verifying that the current environment meets our minimum requirements. We then go on to verify that settings.php is properly configured. From there we connect to the configured database…

... See full list

File

includes/file.inc, line 1112
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;
}