34 $createPermissions =
null,
38 if (
null !== $createPermissions) {
39 $this->permissions = $createPermissions;
70 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
71 if (!$this->driver->isFile($absolutePath)) {
73 new \
Magento\Framework\
Phrase(
'The "%1" file doesn\'t exist.', [$absolutePath])
89 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
90 if ($this->driver->isDirectory($absolutePath)) {
93 return $this->driver->createDirectory($absolutePath, $this->permissions);
110 $targetDirectory = $targetDirectory ?: $this;
111 if (!$targetDirectory->isExist($this->driver->getParentDirectory($newPath))) {
112 $targetDirectory->create($this->driver->getParentDirectory($newPath));
114 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
115 $absoluteNewPath = $targetDirectory->getAbsolutePath($newPath);
116 return $this->driver->rename($absolutePath, $absoluteNewPath, $targetDirectory->driver);
134 $targetDirectory = $targetDirectory ?: $this;
135 if (!$targetDirectory->isExist($this->driver->getParentDirectory($destination))) {
136 $targetDirectory->create($this->driver->getParentDirectory($destination));
138 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
139 $absoluteDestination = $targetDirectory->getAbsolutePath($destination);
141 return $this->driver->copy($absolutePath, $absoluteDestination, $targetDirectory->driver);
157 $targetDirectory = $targetDirectory ?: $this;
158 $parentDirectory = $this->driver->getParentDirectory($destination);
159 if (!$targetDirectory->isExist($parentDirectory)) {
160 $targetDirectory->create($parentDirectory);
162 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
163 $absoluteDestination = $targetDirectory->getAbsolutePath($destination);
165 return $this->driver->symlink($absolutePath, $absoluteDestination, $targetDirectory->driver);
176 public function delete(
$path =
null)
182 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
183 if ($this->driver->isFile($absolutePath)) {
184 $this->driver->deleteFile($absolutePath);
186 $this->driver->deleteDirectory($absolutePath);
203 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
205 return $this->driver->changePermissions($absolutePath,
$permissions);
221 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
223 return $this->driver->changePermissionsRecursively($absolutePath, $dirPermissions, $filePermissions);
239 $folder = $this->driver->getParentDirectory(
$path);
242 return $this->driver->touch($this->driver->getAbsolutePath($this->path,
$path), $modificationTime);
257 return $this->driver->isWritable($this->driver->getAbsolutePath($this->path,
$path));
272 $folder = dirname(
$path);
275 $absolutePath = $this->driver->getAbsolutePath($this->path,
$path);
277 return $this->fileFactory->create($absolutePath, $this->driver,
$mode);
changePermissionsRecursively($path, $dirPermissions, $filePermissions)
createSymlink($path, $destination, WriteInterface $targetDirectory=null)
touch($path, $modificationTime=null)
renameFile($path, $newPath, WriteInterface $targetDirectory=null)
__construct(\Magento\Framework\Filesystem\File\WriteFactory $fileFactory, \Magento\Framework\Filesystem\DriverInterface $driver, $path, $createPermissions=null, ?PathValidatorInterface $pathValidator=null)
validatePath(?string $path, ?string $scheme=null, bool $absolutePath=false)
if($exist=($block->getProductCollection() && $block->getProductCollection() ->getSize())) $mode
getAbsolutePath($path=null, $scheme=null)
openFile($path, $mode='w')
changePermissions($path, $permissions)
writeFile($path, $content, $mode='w+')
copyFile($path, $destination, WriteInterface $targetDirectory=null)