本文整理汇总了PHP中Magento\Framework\App\Filesystem类的典型用法代码示例。如果您正苦于以下问题:PHP Filesystem类的具体用法?PHP Filesystem怎么用?PHP Filesystem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Filesystem类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: afterSave
/**
* Save uploaded file and set its name to category
*
* @param \Magento\Framework\Object $object
* @return \Magento\Catalog\Model\Category\Attribute\Backend\Image
*/
public function afterSave($object)
{
$value = $object->getData($this->getAttribute()->getName() . '_additional_data');
// if no image was set - nothing to do
if (empty($value) && empty($_FILES)) {
return $this;
}
if (is_array($value) && !empty($value['delete'])) {
$object->setData($this->getAttribute()->getName(), '');
$this->getAttribute()->getEntity()->saveAttribute($object, $this->getAttribute()->getName());
return $this;
}
$path = $this->_filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::MEDIA_DIR)->getAbsolutePath('catalog/category/');
try {
/** @var $uploader \Magento\Core\Model\File\Uploader */
$uploader = $this->_fileUploaderFactory->create(array('fileId' => $this->getAttribute()->getName()));
$uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
$uploader->setAllowRenameFiles(true);
$result = $uploader->save($path);
$object->setData($this->getAttribute()->getName(), $result['file']);
$this->getAttribute()->getEntity()->saveAttribute($object, $this->getAttribute()->getName());
} catch (\Exception $e) {
if ($e->getCode() != \Magento\Core\Model\File\Uploader::TMP_NAME_EMPTY) {
$this->_logger->logException($e);
}
}
return $this;
}
示例2: __construct
/**
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
* @param \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory
* @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
*/
public function __construct(\Magento\Framework\App\Filesystem $filesystem, \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase, \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory, \Magento\Framework\App\Response\Http\FileFactory $fileFactory)
{
$this->_rootDir = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::ROOT_DIR);
$this->_fileStorageDatabase = $fileStorageDatabase;
$this->_storageDatabaseFactory = $storageDatabaseFactory;
$this->_fileFactory = $fileFactory;
}
示例3: __construct
/**
* @param \Magento\Framework\Model\Context $context
* @param \Magento\Framework\Registry $registry
* @param \Magento\Framework\App\Config\ScopeConfigInterface $config
* @param \Magento\Paypal\Model\CertFactory $certFactory
* @param \Magento\Framework\Encryption\EncryptorInterface $encryptor
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Framework\Model\Resource\AbstractResource $resource
* @param \Magento\Framework\Data\Collection\Db $resourceCollection
* @param array $data
*/
public function __construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\App\Config\ScopeConfigInterface $config, \Magento\Paypal\Model\CertFactory $certFactory, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Magento\Framework\App\Filesystem $filesystem, \Magento\Framework\Model\Resource\AbstractResource $resource = null, \Magento\Framework\Data\Collection\Db $resourceCollection = null, array $data = array())
{
$this->_certFactory = $certFactory;
$this->_encryptor = $encryptor;
$this->_tmpDirectory = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::SYS_TMP_DIR);
parent::__construct($context, $registry, $config, $resource, $resourceCollection, $data);
}
示例4: ensureSourceFile
/**
* Make sure the aggregated configuration is materialized
*
* By default write the file if it doesn't exist, but in developer mode always do it.
*
* @param string $relPath
* @return void
*/
private function ensureSourceFile($relPath)
{
$dir = $this->filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::STATIC_VIEW_DIR);
if ($this->appState->getMode() == \Magento\Framework\App\State::MODE_DEVELOPER || !$dir->isExist($relPath)) {
$dir->writeFile($relPath, $this->config->getConfig());
}
}
示例5: __construct
/**
* @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate
* @param \Magento\Framework\Logger $logger
* @param \Magento\Framework\Locale\ResolverInterface $localeResolver
* @param \Magento\Core\Helper\Data $coreData
* @param \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator
* @param \Magento\Framework\App\Filesystem $filesystem
*/
public function __construct(\Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Framework\Logger $logger, \Magento\Framework\Locale\ResolverInterface $localeResolver, \Magento\Core\Helper\Data $coreData, \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator, \Magento\Framework\App\Filesystem $filesystem)
{
parent::__construct($localeDate, $logger, $localeResolver);
$this->_coreData = $coreData;
$this->_fileValidator = $fileValidator;
$this->_directory = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::MEDIA_DIR);
}
示例6: __construct
/**
* @param \Magento\Framework\Code\Minifier\StrategyInterface $strategy
* @param \Magento\Framework\App\Filesystem $filesystem
* @param string $directoryName
*/
public function __construct(\Magento\Framework\Code\Minifier\StrategyInterface $strategy, \Magento\Framework\App\Filesystem $filesystem, $directoryName)
{
$this->_strategy = $strategy;
$this->rootDirectory = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::ROOT_DIR);
$this->pubViewCacheDir = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::PUB_VIEW_CACHE_DIR);
$this->directoryName = $directoryName;
}
示例7: __construct
/**
* @param Filesystem $filesystem
* @param \Magento\Framework\Config\FileIteratorFactory $iteratorFactory
*/
public function __construct(Filesystem $filesystem, \Magento\Framework\Config\FileIteratorFactory $iteratorFactory)
{
$this->iteratorFactory = $iteratorFactory;
$this->modulesDirectory = $filesystem->getDirectoryRead(Filesystem::MODULES_DIR);
$this->configDirectory = $filesystem->getDirectoryRead(Filesystem::CONFIG_DIR);
$this->rootDirectory = $filesystem->getDirectoryRead(Filesystem::ROOT_DIR);
}
示例8: __construct
/**
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Framework\Module\Dir\Reader $moduleReader
* @param \Magento\Framework\Config\FileIteratorFactory $iteratorFactory
*/
public function __construct(\Magento\Framework\App\Filesystem $filesystem, \Magento\Framework\Module\Dir\Reader $moduleReader, \Magento\Framework\Config\FileIteratorFactory $iteratorFactory)
{
$this->themesDirectory = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::THEMES_DIR);
$this->modulesDirectory = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::MODULES_DIR);
$this->iteratorFactory = $iteratorFactory;
$this->_moduleReader = $moduleReader;
}
示例9: __construct
/**
* Initialize dependencies
*
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Theme\Helper\Storage $helper
* @param \Magento\Framework\ObjectManager $objectManager
* @param \Magento\Framework\Image\AdapterFactory $imageFactory
*/
public function __construct(\Magento\Framework\App\Filesystem $filesystem, \Magento\Theme\Helper\Storage $helper, \Magento\Framework\ObjectManager $objectManager, \Magento\Framework\Image\AdapterFactory $imageFactory)
{
$this->mediaWriteDirectory = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::MEDIA_DIR);
$this->_helper = $helper;
$this->_objectManager = $objectManager;
$this->_imageFactory = $imageFactory;
}
示例10: __construct
/**
* @param \Magento\Framework\Logger $logger
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Framework\Logger\AdapterFactory $adapterFactory
* @param array $data
*/
public function __construct(\Magento\Framework\Logger $logger, \Magento\Framework\App\Filesystem $filesystem, \Magento\Framework\Logger\AdapterFactory $adapterFactory, array $data = array())
{
$this->_logger = $logger;
$this->_varDirectory = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::VAR_DIR);
$this->_adapterFactory = $adapterFactory;
parent::__construct($data);
}
示例11: afterSave
/**
* After save
*
* @param \Magento\Framework\Object $object
* @return $this|void
*/
public function afterSave($object)
{
$value = $object->getData($this->getAttribute()->getName());
if (is_array($value) && !empty($value['delete'])) {
$object->setData($this->getAttribute()->getName(), '');
$this->getAttribute()->getEntity()->saveAttribute($object, $this->getAttribute()->getName());
return;
}
try {
/** @var $uploader \Magento\Core\Model\File\Uploader */
$uploader = $this->_fileUploaderFactory->create(array('fileId' => $this->getAttribute()->getName()));
$uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
$uploader->setAllowRenameFiles(true);
$uploader->setFilesDispersion(true);
} catch (\Exception $e) {
return $this;
}
$path = $this->_filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::MEDIA_DIR)->getAbsolutePath('catalog/product/');
$uploader->save($path);
$fileName = $uploader->getUploadedFileName();
if ($fileName) {
$object->setData($this->getAttribute()->getName(), $fileName);
$this->getAttribute()->getEntity()->saveAttribute($object, $this->getAttribute()->getName());
}
return $this;
}
示例12: __construct
/**
* @param \Magento\Framework\App\Helper\Context $context
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Framework\App\State $appState
* @param \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Framework\Convert\Xml $xmlConverter
* @param bool $dbCompatibleMode
*/
public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\App\State $appState, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency, \Magento\Framework\App\Filesystem $filesystem, \Magento\Framework\Convert\Xml $xmlConverter, $dbCompatibleMode = true)
{
$this->filesystem = $filesystem;
$this->readDirectory = $this->filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::VAR_DIR);
$this->_xmlConverter = $xmlConverter;
parent::__construct($context, $scopeConfig, $storeManager, $appState, $priceCurrency, $dbCompatibleMode);
}
示例13: __construct
/**
* Set base dir
*
* @param \Magento\Core\Model\EntityFactory $entityFactory
* @param \Magento\Framework\App\Filesystem $filesystem
*/
public function __construct(\Magento\Core\Model\EntityFactory $entityFactory, \Magento\Framework\App\Filesystem $filesystem)
{
parent::__construct($entityFactory);
$this->filesystem = $filesystem;
$this->connectDirectory = $this->filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::VAR_DIR);
$this->connectDirectory->create('connect');
$this->addTargetDir($this->connectDirectory->getAbsolutePath('connect'));
}
示例14: __construct
/**
* @param Resource\LogFactory $resLogFactory
* @param \Magento\Captcha\Helper\Data $helper
* @param \Magento\Captcha\Helper\Adminhtml\Data $adminHelper
* @param \Magento\Framework\App\Filesystem $filesystem
* @param \Magento\Store\Model\StoreManager $storeManager
*/
public function __construct(Resource\LogFactory $resLogFactory, \Magento\Captcha\Helper\Data $helper, \Magento\Captcha\Helper\Adminhtml\Data $adminHelper, \Magento\Framework\App\Filesystem $filesystem, \Magento\Store\Model\StoreManager $storeManager)
{
$this->_resLogFactory = $resLogFactory;
$this->_helper = $helper;
$this->_adminHelper = $adminHelper;
$this->_mediaDirectory = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::MEDIA_DIR);
$this->_storeManager = $storeManager;
}
示例15: aroundCleanMergedJsCss
/**
* Clean files in database on cleaning merged assets
*
* @param \Magento\Framework\View\Asset\MergeService $subject
* @param callable $proceed
*
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundCleanMergedJsCss(\Magento\Framework\View\Asset\MergeService $subject, \Closure $proceed)
{
$proceed();
/** @var \Magento\Framework\Filesystem\Directory\ReadInterface $pubStaticDirectory */
$pubStaticDirectory = $this->filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem::STATIC_VIEW_DIR);
$mergedDir = $pubStaticDirectory->getAbsolutePath() . '/' . \Magento\Framework\View\Asset\Merged::getRelativeDir();
$this->database->deleteFolder($mergedDir);
}