Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. vfsStreamWrapper.php

function vfsStreamWrapper::stream_metadata

sets metadata like owner, user or permissions

@since 1.1.0

Parameters

string $path:

int $option:

mixed $var:

Return value

bool

File

vendor/mikey179/vfsstream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php, line 511

Class

vfsStreamWrapper
Stream wrapper to mock file system requests.

Namespace

org\bovigo\vfs

Code

public function stream_metadata($path, $option, $var) {
    $path = $this->resolvePath(vfsStream::path($path));
    $content = $this->getContent($path);
    switch ($option) {
        case STREAM_META_TOUCH:
            if (null === $content) {
                $content = $this->createFile($path, null, STREAM_REPORT_ERRORS);
                // file creation may not be allowed at provided path
                if (false === $content) {
                    return false;
                }
            }
            $currentTime = time();
            $content->lastModified(isset($var[0]) ? $var[0] : $currentTime)
                ->lastAccessed(isset($var[1]) ? $var[1] : $currentTime);
            return true;
        case STREAM_META_OWNER_NAME:
            return false;
        case STREAM_META_OWNER:
            if (null === $content) {
                return false;
            }
            return $this->doPermChange($path, $content, function () use ($content, $var) {
                $content->chown($var);
            });
        case STREAM_META_GROUP_NAME:
            return false;
        case STREAM_META_GROUP:
            if (null === $content) {
                return false;
            }
            return $this->doPermChange($path, $content, function () use ($content, $var) {
                $content->chgrp($var);
            });
        case STREAM_META_ACCESS:
            if (null === $content) {
                return false;
            }
            return $this->doPermChange($path, $content, function () use ($content, $var) {
                $content->chmod($var);
            });
        default:
            return false;
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal