Выводит информацию о файле: тип, mime, размер в читабельном формате, путь, имя, расширение и пр.
- PHP >= 7.4
- (MODX)EvolutionCMS >= 1.1
- (MODX)EvolutionCMS.libraries.ddTools >= 0.60
Используя (MODX)EvolutionCMS.libraries.ddInstaller
Просто вызовите следующий код в своих исходинках или модуле Console:
// Подключение (MODX)EvolutionCMS.libraries.ddInstaller
require_once(
$modx->getConfig('base_path')
. 'assets/libs/ddInstaller/require.php'
);
// Установка (MODX)EvolutionCMS.snippets.ddGetFileInfo
\DDInstaller::install([
'url' => 'https://github.com/DivanDesign/EvolutionCMS.snippets.ddGetFileInfo',
]);- Если
ddGetFileInfoотсутствует на вашем сайте,ddInstallerпросто установит его. - Если
ddGetFileInfoуже есть на вашем сайте,ddInstallerпроверит его версию и обновит, если нужно.
- Название сниппета:
ddGetFileInfo. - Описание:
<b>2.5.1</b> Выводит информацию о фале: размер, имя, расширение и пр.. - Категория:
Core. - Анализировать DocBlock:
no. - Код сниппета (php): Вставьте содержимое файла
ddGetFileInfo_snippet.phpиз архива.
- Создайте новую папку
assets/snippets/ddGetFileInfo/. - Извлеките содержимое архива в неё (кроме файла
ddGetFileInfo_snippet.php).
-
file- Описание: Имя файла (путь).
- Допустимые значения:
stringFilePath— путь к файлу можно указать относительно корня сайта (/в начале не играет роли, поддерживаются оба варианта), а можно и полный (включая$modx->config['base_path'])stringUrl— можно указать не только локальный файл, но и адрес в интернете, но в этом случае по объективным причинам поддерживаются не все функции
- Обязателен
-
file_docField- Описание: Поле документа (включая TV), содержащее путь к файлу (если вы хотите, чтобы сниппет получил адрес файла из поля документа).
- Допустимые значения:
string - Значение по умолчанию: —
-
file_docId- Описание: ID документа, из поля которого нужно получить адрес файла.
- Допустимые значения:
integerDocId - Значение по умолчанию: —
-
sizeUnitFormat- Описание: Формат вывода единицы измерения размера файла.
- Значения регистронезависимы (следующие значения равны:
'enshort','EnShort','ENSHORT'и т. п.).
- Значения регистронезависимы (следующие значения равны:
- Допустимые значения:
'none''EnShort'— e. g.MB'EnFull'— e. g.Megabyte'RuShort'— e. g.Мб'RuFull'— e. g.Мегабайт
- Значение по умолчанию:
'EnShort'
- Описание: Формат вывода единицы измерения размера файла.
-
sizePrecision- Описание: Количество цифр после запятой.
- Допустимые значения:
integer - Значение по умолчанию:
2
-
output- Описание: Какую информацию о файле вывести (если не задан шаблон
tpl). - Допустимые значения:
'size''extension''type''typeMime''name''path'
- Значение по умолчанию:
'size'
- Описание: Какую информацию о файле вывести (если не задан шаблон
-
tpl- Описание: Шаблон для вывода (без шаблона возвращает согласно параметру
output).- Доступные плейсхолдеры:
[+file+]— полный адрес файла[+name+]— имя файла[+path+]— путь к файлу[+size+]— размер файла с единицей измерения в удобочитаемом формате[+extension+]— расширение файла[+type+]— тип файла:'archive''image''video''audio''text''pdf''word''excel''powerpoint'
[+typeMime+]— тип содержимого в формате MIME (только для локальных файлов, не для URL-адресов)
- Доступные плейсхолдеры:
- Допустимые значения:
stringChunkNamestring— передавать код напрямую без чанка можно начиная значение с@CODE:
- Значение по умолчанию: —
- Описание: Шаблон для вывода (без шаблона возвращает согласно параметру
-
tpl_placeholders- Описание: Дополнительные данные, которые будут переданы в шаблон
tpl.- Вложенные объекты и массивы также поддерживаются:
{"someOne": "1", "someTwo": "test" }=>[+someOne+], [+someTwo+].{"some": {"a": "one", "b": "two"} }=>[+some.a+],[+some.b+].{"some": ["one", "two"] }=>[+some.0+],[+some.1+].
- Вложенные объекты и массивы также поддерживаются:
- Допустимые значения:
stringJsonObject— в виде JSONstringHjsonObject— в виде HJSONstringQueryFormatted— в виде Query string- Также может быть задан, как нативный PHP объект или массив (например, для вызовов через
$modx->runSnippet).arrayAssociativeobject
- Значение по умолчанию: —
- Описание: Дополнительные данные, которые будут переданы в шаблон
// Подключение (MODX)EvolutionCMS.libraries.ddTools
require_once(
$modx->getConfig('base_path')
. 'assets/libs/ddTools/modx.ddtools.class.php'
);
// Запуск (MODX)EvolutionCMS.snippets.ddGetFileInfo
\DDTools\Snippet::runSnippet([
'name' => 'ddGetFileInfo',
'params' => [
'file' => 'assets/images/evo-logo.png',
'output' => 'size',
],
]);