class FileSystem

Same name in this branch
  1. 11.x core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem
Same name in other branches
  1. 9 core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem
  2. 9 core/lib/Drupal/Component/FileSystem/FileSystem.php \Drupal\Component\FileSystem\FileSystem
  3. 8.9.x core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem
  4. 8.9.x core/lib/Drupal/Component/FileSystem/FileSystem.php \Drupal\Component\FileSystem\FileSystem
  5. 10 core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem
  6. 10 core/lib/Drupal/Component/FileSystem/FileSystem.php \Drupal\Component\FileSystem\FileSystem

Provides file system functions.

Hierarchy

Expanded class hierarchy of FileSystem

8 files declare their use of FileSystem
BuildTestBase.php in core/tests/Drupal/BuildTests/Framework/BuildTestBase.php
DirectoryTest.php in core/tests/Drupal/KernelTests/Core/File/DirectoryTest.php
FileSystem.php in core/lib/Drupal/Core/File/FileSystem.php
FileSystemTempDirectoryTest.php in core/tests/Drupal/KernelTests/Core/File/FileSystemTempDirectoryTest.php
FinderTest.php in core/tests/Drupal/Tests/Core/DefaultContent/FinderTest.php

... See full list

File

core/lib/Drupal/Component/FileSystem/FileSystem.php, line 10

Namespace

Drupal\Component\FileSystem
View source
class FileSystem {
    
    /**
     * Discovers a writable system-appropriate temporary directory.
     *
     * @return string|false
     *   A string containing the path to the temporary directory, or FALSE if no
     *   suitable temporary directory can be found.
     */
    public static function getOsTemporaryDirectory() {
        $directories = [];
        // 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 (str_starts_with(PHP_OS, 'WIN')) {
            $directories[] = 'c:\\windows\\temp';
            $directories[] = 'c:\\winnt\\temp';
        }
        else {
            $directories[] = '/tmp';
        }
        // PHP may be able to find an alternative tmp directory.
        $directories[] = sys_get_temp_dir();
        foreach ($directories as $directory) {
            if (is_dir($directory) && is_writable($directory)) {
                // Both sys_get_temp_dir() and ini_get('upload_tmp_dir') can return paths
                // with a trailing directory separator.
                return rtrim($directory, DIRECTORY_SEPARATOR);
            }
        }
        return FALSE;
    }

}

Members

Title Sort descending Modifiers Object type Summary
FileSystem::getOsTemporaryDirectory public static function Discovers a writable system-appropriate temporary directory.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.