Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
File Class Reference
Inheritance diagram for File:
AbstractHelper

Public Member Functions

 __construct (\Magento\Framework\App\Helper\Context $context, \Magento\MediaStorage\Helper\File\Storage\Database $coreFileStorageDatabase, \Magento\Framework\Filesystem $filesystem, array $mimeTypes=[])
 
 uploadFromTmp ($tmpPath, \Magento\MediaStorage\Model\File\Uploader $uploader)
 
 moveFileFromTmp ($baseTmpPath, $basePath, $file)
 
 ensureFileInFilesystem ($file)
 
 getFilePath ($path, $file)
 
 getFileFromPathFile ($pathFile)
 
 getFileSize ($file)
 
 getFileType ($filePath)
 
 getAllFileTypes ()
 
 getAllMineTypes ()
 
- Public Member Functions inherited from AbstractHelper
 __construct (Context $context)
 
 isModuleOutputEnabled ($moduleName=null)
 

Protected Member Functions

 _moveFileFromTmp ($baseTmpPath, $basePath, $file)
 
 _getFileTypeByExt ($ext)
 
- Protected Member Functions inherited from AbstractHelper
 _getRequest ()
 
 _getModuleName ()
 
 _getUrl ($route, $params=[])
 

Protected Attributes

 $_coreFileStorageDatabase = null
 
 $_filesystem
 
 $_mediaDirectory
 
- Protected Attributes inherited from AbstractHelper
 $_moduleName
 
 $_request
 
 $_moduleManager
 
 $_logger
 
 $_urlBuilder
 
 $_httpHeader
 
 $_eventManager
 
 $_remoteAddress
 
 $urlEncoder
 
 $urlDecoder
 
 $scopeConfig
 
 $_cacheConfig
 

Static Protected Attributes

static $_mimeTypes
 

Detailed Description

Downloadable Products File Helper

@api

Since
100.0.2

Definition at line 16 of file File.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\App\Helper\Context  $context,
\Magento\MediaStorage\Helper\File\Storage\Database  $coreFileStorageDatabase,
\Magento\Framework\Filesystem  $filesystem,
array  $mimeTypes = [] 
)
Parameters
\Magento\Framework\App\Helper\Context$context
\Magento\MediaStorage\Helper\File\Storage\Database$coreFileStorageDatabase
\Magento\Framework\Filesystem$filesystem
array$mimeTypes

Definition at line 45 of file File.php.

50  {
51  $this->_coreFileStorageDatabase = $coreFileStorageDatabase;
52  $this->_filesystem = $filesystem;
53  $this->_mediaDirectory = $filesystem->getDirectoryWrite(DirectoryList::MEDIA);
54  parent::__construct($context);
55  if (!empty($mimeTypes)) {
56  foreach ($mimeTypes as $key => $value) {
57  self::$_mimeTypes[$key] = $value;
58  }
59  }
60  }
$value
Definition: gender.phtml:16
$filesystem

Member Function Documentation

◆ _getFileTypeByExt()

_getFileTypeByExt (   $ext)
protected
Parameters
string$ext
Returns
string

Definition at line 205 of file File.php.

206  {
207  $type = 'x' . $ext;
208  if (isset(self::$_mimeTypes[$type])) {
209  return self::$_mimeTypes[$type];
210  }
211  return 'application/octet-stream';
212  }
$type
Definition: item.phtml:13

◆ _moveFileFromTmp()

_moveFileFromTmp (   $baseTmpPath,
  $basePath,
  $file 
)
protected

Move file from tmp path to base path

Parameters
string$baseTmpPath
string$basePath
string$file
Returns
string

Definition at line 128 of file File.php.

129  {
130  if (strrpos($file, '.tmp') == strlen($file) - 4) {
131  $file = substr($file, 0, strlen($file) - 4);
132  }
133 
134  $destFile = dirname(
135  $file
137  $this->getFilePath($basePath, $file)
138  );
139 
140  $this->_coreFileStorageDatabase->copyFile(
141  $this->getFilePath($baseTmpPath, $file),
142  $this->getFilePath($basePath, $destFile)
143  );
144 
145  $this->_mediaDirectory->renameFile(
146  $this->getFilePath($baseTmpPath, $file),
147  $this->getFilePath($basePath, $destFile)
148  );
149 
150  return str_replace('\\', '/', $destFile);
151  }
static getNewFileName($destinationFile)
Definition: Uploader.php:605

◆ ensureFileInFilesystem()

ensureFileInFilesystem (   $file)

Check if file exist in filesystem and try to re-create it from database record if negative.

Parameters
string$file
Returns
bool|int

Definition at line 110 of file File.php.

111  {
112  $result = true;
113  if (!$this->_mediaDirectory->isFile($file)) {
114  $result = $this->_coreFileStorageDatabase->saveFileToFilesystem($file);
115  }
116 
117  return $result;
118  }

◆ getAllFileTypes()

getAllFileTypes ( )
Returns
array

Definition at line 217 of file File.php.

218  {
219  return array_values(self::getAllMineTypes());
220  }

◆ getAllMineTypes()

getAllMineTypes ( )
Returns
array

Definition at line 225 of file File.php.

226  {
227  return self::$_mimeTypes;
228  }

◆ getFileFromPathFile()

getFileFromPathFile (   $pathFile)

Return file name form file path

Parameters
string$pathFile
Returns
string

Definition at line 174 of file File.php.

175  {
176  $file = substr($pathFile, strrpos($pathFile, '/') + 1);
177 
178  return $file;
179  }

◆ getFilePath()

getFilePath (   $path,
  $file 
)

Return full path to file

Parameters
string$path
string$file
Returns
string

Definition at line 160 of file File.php.

161  {
162  $path = rtrim($path, '/');
163  $file = ltrim($file, '/');
164 
165  return $path . '/' . $file;
166  }

◆ getFileSize()

getFileSize (   $file)

Get filesize in bytes.

Parameters
string$file
Returns
int

Definition at line 186 of file File.php.

187  {
188  return $this->_mediaDirectory->stat($file)['size'];
189  }

◆ getFileType()

getFileType (   $filePath)
Parameters
string$filePath
Returns
string

Definition at line 195 of file File.php.

196  {
197  $ext = substr($filePath, strrpos($filePath, '.') + 1);
198  return $this->_getFileTypeByExt($ext);
199  }

◆ moveFileFromTmp()

moveFileFromTmp (   $baseTmpPath,
  $basePath,
  $file 
)

Checking file for moving and move it

Parameters
string$baseTmpPath
string$basePath
string$file
Returns
string
Exceptions

Definition at line 87 of file File.php.

88  {
89  if (isset($file[0])) {
90  $fileName = $file[0]['file'];
91  if ($file[0]['status'] === 'new') {
92  try {
93  $fileName = $this->_moveFileFromTmp($baseTmpPath, $basePath, $file[0]['file']);
94  } catch (\Exception $e) {
95  throw new \Magento\Framework\Exception\LocalizedException(
96  __('Something went wrong while saving the file(s).')
97  );
98  }
99  }
100  return $fileName;
101  }
102  return '';
103  }
__()
Definition: __.php:13
_moveFileFromTmp($baseTmpPath, $basePath, $file)
Definition: File.php:128
$fileName
Definition: translate.phtml:15

◆ uploadFromTmp()

uploadFromTmp (   $tmpPath,
\Magento\MediaStorage\Model\File\Uploader  $uploader 
)

Upload file from temporary folder.

Parameters
string$tmpPath
\Magento\MediaStorage\Model\File\Uploader$uploader
Returns
array

Definition at line 68 of file File.php.

69  {
70  $uploader->setAllowRenameFiles(true);
71  $uploader->setFilesDispersion(true);
72  $absoluteTmpPath = $this->_mediaDirectory->getAbsolutePath($tmpPath);
73  $result = $uploader->save($absoluteTmpPath);
74  unset($result['path']);
75 
76  return $result;
77  }

Field Documentation

◆ $_coreFileStorageDatabase

$_coreFileStorageDatabase = null
protected

Definition at line 23 of file File.php.

◆ $_filesystem

$_filesystem
protected

Definition at line 30 of file File.php.

◆ $_mediaDirectory

$_mediaDirectory
protected

Definition at line 37 of file File.php.

◆ $_mimeTypes

$_mimeTypes
staticprotected

Definition at line 233 of file File.php.


The documentation for this class was generated from the following file: