Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Component/FileSystem/FileSystem.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Component\FileSystem; /** * Provides file system functions. */ 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 (substr(PHP_OS, 0, 3) == '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; } }