function LocalStream::mkdir

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/StreamWrapper/LocalStream.php \Drupal\Core\StreamWrapper\LocalStream::mkdir()
  2. 8.9.x core/lib/Drupal/Core/StreamWrapper/LocalStream.php \Drupal\Core\StreamWrapper\LocalStream::mkdir()
  3. 10 core/lib/Drupal/Core/StreamWrapper/LocalStream.php \Drupal\Core\StreamWrapper\LocalStream::mkdir()

Overrides PhpStreamWrapperInterface::mkdir

1 method overrides LocalStream::mkdir()
LocalReadOnlyStream::mkdir in core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php
Support for mkdir().

File

core/lib/Drupal/Core/StreamWrapper/LocalStream.php, line 332

Class

LocalStream
Defines a Drupal stream wrapper base class for local files.

Namespace

Drupal\Core\StreamWrapper

Code

public function mkdir($uri, $mode, $options) {
    $this->uri = $uri;
    $recursive = (bool) ($options & STREAM_MKDIR_RECURSIVE);
    if ($recursive) {
        // $this->getLocalPath() fails if $uri has multiple levels of directories
        // that do not yet exist.
        $local_path = $this->getDirectoryPath() . '/' . $this->getTarget($uri);
    }
    else {
        $local_path = $this->getLocalPath($uri);
    }
    
    /** @var \Drupal\Core\File\FileSystemInterface $file_system */
    $file_system = \Drupal::service('file_system');
    if ($options & STREAM_REPORT_ERRORS) {
        return $file_system->mkdir($local_path, $mode, $recursive);
    }
    else {
        return @$file_system->mkdir($local_path, $mode, $recursive);
    }
}

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