/** * Get backup-specific data from model for each row * * @param string $filename * @return array */ protected function _generateRow($filename) { $row = parent::_generateRow($filename); foreach ($this->_backup->load($row['basename'], $this->_varDirectory->getAbsolutePath($this->_path))->getData() as $key => $value) { $row[$key] = $value; } $row['size'] = $this->_varDirectory->stat($this->_varDirectory->getRelativePath($filename))['size']; $row['id'] = $row['time'] . '_' . $row['type']; return $row; }
/** * Delete Expired Captcha Images for specific website * * @param \Magento\Captcha\Helper\Data $helper * @param \Magento\Store\Model\Website|null $website * @param \Magento\Store\Model\Store|null $store * @return void */ protected function _deleteExpiredImagesForWebsite(\Magento\Captcha\Helper\Data $helper, \Magento\Store\Model\Website $website = null, \Magento\Store\Model\Store $store = null) { $expire = time() - $helper->getConfig('timeout', $store) * 60; $imageDirectory = $this->_mediaDirectory->getRelativePath($helper->getImgDir($website)); foreach ($this->_mediaDirectory->read($imageDirectory) as $filePath) { if ($this->_mediaDirectory->isFile($filePath) && pathinfo($filePath, PATHINFO_EXTENSION) == 'png' && $this->_mediaDirectory->stat($filePath)['mtime'] < $expire) { $this->_mediaDirectory->delete($filePath); } } }
/** * Get backup-specific data from model for each row * * @param string $filename * @return array */ protected function _generateRow($filename) { $row = parent::_generateRow($filename); foreach ($this->_backup->load($row['basename'], $this->_varDirectory->getAbsolutePath($this->_path))->getData() as $key => $value) { $row[$key] = $value; } $row['size'] = $this->_varDirectory->stat($this->_varDirectory->getRelativePath($filename))['size']; if (isset($row['display_name']) && $row['display_name'] == '') { $row['display_name'] = 'WebSetupWizard'; } $row['id'] = $row['time'] . '_' . $row['type'] . (isset($row['display_name']) ? $row['display_name'] : ''); return $row; }
/** * Download sample file action * * @return \Magento\Framework\Controller\Result\Raw */ public function execute() { $fileName = $this->getRequest()->getParam('filename') . '.csv'; $filePath = self::SAMPLE_FILES_DIRECTORY . $fileName; if (!$this->fileDirectory->isFile($filePath)) { /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $this->messageManager->addError(__('There is no sample file for this entity.')); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('*/import'); return $resultRedirect; } $fileSize = isset($this->fileDirectory->stat($filePath)['size']) ? $this->fileDirectory->stat($filePath)['size'] : null; $this->fileFactory->create($fileName, null, DirectoryList::VAR_DIR, 'application/octet-stream', $fileSize); /** @var \Magento\Framework\Controller\Result\Raw $resultRaw */ $resultRaw = $this->resultRawFactory->create(); $resultRaw->setContents($this->fileDirectory->readFile($filePath)); return $resultRaw; }
/** * @return int|mixed */ public function getSize() { if ($this->getData('size') !== null) { return $this->getData('size'); } if ($this->exists()) { $this->setData('size', $this->varDirectory->stat($this->_getFilePath())['size']); return $this->getData('size'); } return 0; }
/** * Reads file info * * @param string $filePath * @return array */ protected function _readFileInfo($filePath) { $fullFilePath = $this->_directory->getAbsolutePath($filePath); $fileInfo = pathinfo($fullFilePath); return ['name' => $fileInfo['basename'], 'type' => $this->_getMimeTypeByExt($fileInfo['extension']), 'tmp_name' => $filePath, 'error' => 0, 'size' => $this->_directory->stat($filePath)['size']]; }
/** * Get filesize in bytes. * @param string $file * @return int */ public function getFileSize($file) { return $this->_mediaDirectory->stat($file)['size']; }
/** * Retrieve report file size * * @param string $filename * @return int|mixed */ public function getReportSize($filename) { return $this->varDirectory->stat($this->getFilePath($filename))['size']; }
/** * @param string $dbCode * @param string|null $statCode * @return array|bool|mixed */ public function getDbFileStat($dbCode, $statCode = null) { $stat = $this->isDbAvailable($dbCode) ? $this->directory->stat($this->getDbPath($dbCode)) : false; return !empty($stat) ? $statCode ? $stat[$statCode] : $stat : false; }