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\vfsCode
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;
}
}