Spec-Zone.ru › Yii 2.0

Класс yii\helpers\BaseFileHelper

Все классы | Свойства | Методы | Константы
Наследование yii\helpers\BaseFileHelper
Подклассы yii\helpers\FileHelper
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseFileHelper.php

BaseFileHelper предоставляет конкретную реализацию для yii\helpers\FileHelper.

Не используйте BaseFileHelper. Используйте yii\helpers\FileHelper вместо этого.

Публичные свойства

Свойство Тип Описание Определено в
$mimeMagicFile строка Путь (или псевдоним) к PHP файлу, содержащему информацию о типах MIME. yii\helpers\BaseFileHelper

Публичные методы

Метод Описание Определено в
copyDirectory() Копирует весь каталог в другой. yii\helpers\BaseFileHelper
createDirectory() Создаёт новый каталог. yii\helpers\BaseFileHelper
filterPath() Проверяет, удовлетворяет ли указанный путь к файлу параметрам фильтрации. yii\helpers\BaseFileHelper
findFiles() Возвращает файлы, найденные в указанном каталоге и его подкаталогах. yii\helpers\BaseFileHelper
getExtensionsByMimeType() Определяет расширения по заданному типу MIME. yii\helpers\BaseFileHelper
getMimeType() Определяет тип MIME указанного файла. yii\helpers\BaseFileHelper
getMimeTypeByExtension() Определяет тип MIME на основе расширения имени указанного файла. yii\helpers\BaseFileHelper
localize() Возвращает локализованную версию указанного файла. yii\helpers\BaseFileHelper
normalizePath() Нормализует путь к файлу/каталогу. yii\helpers\BaseFileHelper
removeDirectory() Рекурсивно удаляет каталог (и всё его содержимое). yii\helpers\BaseFileHelper

Защищённые методы

Метод Описание Определено в
loadMimeTypes() Загружает типы MIME из указанного файла. yii\helpers\BaseFileHelper
normalizeOptions() yii\helpers\BaseFileHelper

Константы

Постоянная Значение Описание Определено
PATTERN_CASE_INSENSITIVE 32 yii\helpers\BaseFileHelper
PATTERN_ENDSWITH 4 yii\helpers\BaseFileHelper
PATTERN_MUSTBEDIR 8 yii\helpers\BaseFileHelper
PATTERN_NEGATIVE 16 yii\helpers\BaseFileHelper
PATTERN_NODIR 1 yii\helpers\BaseFileHelper

Подробное описание свойств

$mimeMagicFile общедоступное статическое свойство

Путь (или псевдоним) к файлу PHP, содержащему информацию о типах MIME.

public static string $mimeMagicFile = '@yii/helpers/mimeTypes.php'

Подробное описание методов

copyDirectory() public static method

Копирует всю папку как другую.

Файлы и подпапки также будут скопированы.

public static void copyDirectory ( $src, $dst, $options = [] )
$src string

Исходная папка

$dst string

Папка назначения

$options array

Параметры для копирования папки. Допустимые параметры:

  • dirMode: целое число, разрешения для вновь скопированных папок. По умолчанию 0775.
  • fileMode: целое число, разрешения для вновь скопированных файлов. По умолчанию, разрешения текущей среды.
  • filter: обратный вызов PHP, вызываемый для каждой папки или файла. Подпись обратного вызова должна быть: function ($path), где $path обозначает полный путь, подлежащий фильтрации. Обратный вызов может возвращать одно из следующих значений:

    • true: папка или файл будут скопированы (опции "только" и "исключая" будут проигнорированы)
    • false: папка или файл НЕ будут скопированы (опции "только" и "исключая" будут проигнорированы)
    • null: опции "только" и "исключая" определят, следует ли копировать папку или файл
  • only: массив, список шаблонов, которым должны соответствовать пути к файлам, если они должны быть скопированы. Путь соответствует шаблону, если он содержит строку шаблона в конце. Например, '.php' соответствует всем путям к файлам, оканчивающимся на '.php'. Обратите внимание, что символы '/' в шаблоне соответствуют как '/' так и '\' в путях. Если путь к файлу соответствует шаблону как в "только", так и в "исключая", он НЕ будет скопирован.
  • except: массив, список шаблонов, которым должны соответствовать файлы или папки, если они должны быть исключены из копирования. Путь соответствует шаблону, если он содержит строку шаблона в конце. Шаблоны, оканчивающиеся на '/', применяются только к путям к папкам, а шаблоны, не оканчивающиеся на '/', применяются только к путям к файлам. Например, '/a/b' соответствует всем путям к файлам, оканчивающимся на '/a/b'; и '.svn/' соответствует путям к папкам, оканчивающимся на '.svn'. Обратите внимание, что символы '/' в шаблоне соответствуют как '/' так и '\' в путях.
  • caseSensitive: булево, указывающее, должны ли шаблоны, указанные в "только" или "исключая", быть чувствительными к регистру. По умолчанию true.
  • recursive: булево, указывающее, следует ли копировать файлы в подпапках. По умолчанию true.
  • beforeCopy: обратный вызов PHP, вызываемый перед копированием каждой подпапки или файла. Если обратный вызов возвращает false, операция копирования подпапки или файла будет отменена. Подпись обратного вызова должна быть: function ($from, $to), где $from — подпапка или файл, из которого копируется, а $to — целевой объект копирования.
  • afterCopy: обратный вызов PHP, вызываемый после успешного копирования каждой подпапки или файла. Подпись обратного вызова должна быть: function ($from, $to), где $from — подпапка или файл, из которого копируется, а $to — целевой объект копирования.
  • copyEmptyDirectories: булево, указывает, следует ли копировать пустые папки. Установите это в false, чтобы избежать создания папок, которые не содержат файлов. Это влияет на папки, которые изначально не содержат файлов, а также на папки, которые не содержат файлов в целевом назначении, потому что файлы были отфильтрованы через only или except. По умолчанию true. Этот параметр доступен начиная с версии 2.0.12. До версии 2.0.12 пустые папки всегда копировались.
throws yii\base\InvalidParamException

если папка не может быть открыта

createDirectory() public static method

Создает новую папку.

Этот метод похож на PHP функцию mkdir() за исключением того, что он использует chmod() для установки разрешений созданной папки, чтобы избежать влияния параметра umask.

public static boolean createDirectory ( $path, $mode = 0775, $recursive = true )
$path string

Путь к папке, которую нужно создать.

$mode integer

Разрешения, которые нужно установить для созданной папки.

$recursive boolean

Создавать ли родительские папки, если они не существуют.

return boolean

Успешно ли создана папка

throws yii\base\Exception

если папка не может быть создана (например, ошибка php из-за одновременных изменений)

filterPath() public static method

Проверяет, соответствует ли заданный путь к файлу фильтрации.

public static boolean filterPath ( $path, $options )
$path string

Путь к файлу или каталогу, который необходимо проверить

$options array

Параметры фильтрации. Смотрите findFiles() для получения объяснений поддерживаемых параметров.

return boolean

Соответствует ли файл или каталог параметрам фильтрации.

findFiles() public static method

Возвращает файлы, найденные в указанном каталоге и его подкаталогах.

public static array findFiles ( $dir, $options = [] )
$dir string

Каталог, в котором будут искаться файлы.

$options array

Параметры поиска файлов. Допустимые параметры:

  • filter: callback, обратный вызов PHP, который вызывается для каждого каталога или файла. Подпись обратного вызова должна быть: function ($path), где $path относится к полному пути для фильтрации. Обратный вызов может вернуть одно из следующих значений:

    • true: каталог или файл будут возвращены (параметры only и except будут проигнорированы)
    • false: каталог или файл не будут возвращены (параметры only и except будут проигнорированы)
    • null: параметры only и except определят, должен ли каталог или файл быть возвращён
  • except: массив, список шаблонов, исключающих из результатов пути к файлам или каталогам, соответствующие шаблонам. Шаблоны, заканчивающиеся слешем ('/'), применяются только к путям каталогов, а шаблоны, не заканчивающиеся слешем, применяются только к путям файлов. Например, '/a/b' соответствует всем путям к файлам, заканчивающимся на '/a/b'; а .svn/ соответствует путям каталогов, заканчивающимся на .svn. Если шаблон не содержит слеша (/), он обрабатывается как шаблон оболочки glob и проверяется на соответствие имени пути относительно $dir. В противном случае шаблон обрабатывается как шаблон оболочки glob, подходящий для потребления fnmatch(3) с флагом FNM_PATHNAME: подстановочные знаки в шаблоне не будут соответствовать / в пути. Например, views/*.php соответствует views/index.php, но не views/controller/index.php. Ведущий слеш соответствует началу пути. Например, /*.php соответствует index.php, но не views/start/index.php. Необязательный префикс !, который инвертирует шаблон; любой соответствующий файл, исключённый предыдущим шаблоном, снова станет включённым. Если инвертированный шаблон соответствует, это переопределит шаблоны с более низким приоритетом. Поставьте обратный слэш (\) перед первым ! для шаблонов, начинающихся с литерного !, например, \!important!.txt. Обратите внимание, что символы '/' в шаблоне соответствуют как '/' так и '\' в путях.
  • only: массив, список шаблонов, которым пути к файлам должны соответствовать, если они должны быть возвращены. Пути к каталогам не проверяются по ним. Используются те же правила сопоставления шаблонов, что и в параметре except. Если путь к файлу соответствует шаблону в only и except, он НЕ будет возвращён.
  • caseSensitive: boolean, определяет, должны ли шаблоны, указанные в only или except, быть регистрозависимыми. По умолчанию true.
  • recursive: boolean, определяет, следует ли искать файлы в подкаталогах. По умолчанию true.
return array

Найденные файлы в каталоге, без определенного порядка. Порядок зависит от используемой файловой системы.

throws yii\base\InvalidParamException

если каталог некорректен.

getExtensionsByMimeType() public static method

Определяет расширения по заданному типу MIME.

Этот метод будет использовать локальную карту между именами расширений и типами MIME.

public static array getExtensionsByMimeType ( $mimeType, $magicFile = null )
$mimeType string

Тип MIME файла.

$magicFile string

Путь (или псевдоним) к файлу, содержащему информацию о всех доступных типах MIME. Если этот параметр не задан, будет использован файл, указанный в $mimeMagicFile.

return array

Расширения, соответствующие указанному типу MIME.

getMimeType() public static method

Определяет тип MIME указанного файла.

Этот метод сначала попытается определить тип MIME, используя finfo_open. Если расширение fileinfo не установлено, он вернётся к getMimeTypeByExtension(), если $checkExtension имеет значение true.

public static string getMimeType ( $file, $magicFile = null, $checkExtension = true )
$file string

Имя файла.

$magicFile string

Имя необязательного файла базы данных магических чисел (или псевдоним), обычно что-то вроде /path/to/magic.mime. Этот параметр будет передан как второй параметр в finfo_open(), если установлено расширение fileinfo. Если тип MIME определяется с помощью getMimeTypeByExtension(), а этот параметр равен null, будет использован файл, указанный в $mimeMagicFile.

$checkExtension boolean

Использовать ли расширение файла для определения типа MIME, если finfo_open() не может его определить.

return string

Тип MIME (например, text/plain). Возвращает null, если тип MIME определить не удаётся.

throws yii\base\InvalidConfigException

если расширение PHP fileinfo не установлено и $checkExtension имеет значение false.

getMimeTypeByExtension() public static method

Определяет тип MIME на основе расширения имени указанного файла.

Этот метод использует локальную карту между именами расширений и типами MIME.

public static string getMimeTypeByExtension ( $file, $magicFile = null )
$file string

Имя файла.

$magicFile string

Путь (или псевдоним) к файлу, содержащему информацию о всех доступных типах MIME. Если этот параметр не задан, будет использован файл, указанный в $mimeMagicFile.

return string

Тип MIME. Возвращает null, если тип MIME определить не удаётся.

loadMimeTypes() protected static method

Загружает типы MIME из указанного файла.

protected static array loadMimeTypes ( $magicFile )
$magicFile string

Путь (или псевдоним) к файлу, содержащему информацию о всех доступных типах MIME. Если этот параметр не задан, будет использован файл, указанный в $mimeMagicFile.

return array

Сопоставление расширений файлов с типами MIME.

localize() public static method

Возвращает локализованную версию указанного файла.

Поиск выполняется на основе указанного кода языка. В частности, файл с таким же именем будет искаться в подкаталоге с тем же именем, что и код языка. Например, для файла "path/to/view.php" и кода языка "zh-CN", локализованный файл будет искаться как "path/to/zh-CN/view.php". Если файл не найден, будет выполнена попытка поиска с кодом языка "zh", т.е. "path/to/zh/view.php". Если и он не найден, будет возвращен исходный файл.

Если коды языка назначения и исходного языка совпадают, будет возвращен исходный файл.

public static строка localize ( $file, $language = null, $sourceLanguage = null )
$file строка

Исходный файл

$language строка

Целевой язык, на который должен быть переведён файл. Если не задан, используется значение yii\base\Application::$language.

$sourceLanguage строка

Язык, на котором написан исходный файл. Если не задан, используется значение yii\base\Application::$sourceLanguage.

return строка

Соответствующий локализованный файл или исходный файл, если локализованная версия не найдена. Если коды языка назначения и исходного языка совпадают, будет возвращен исходный файл.

normalizeOptions() защищённый статический метод (доступен начиная с версии 2.0.12)

protected static массив normalizeOptions ( массив $options )
$options массив

Исходные параметры

return массив

Нормализованные параметры

normalizePath() публичный статический метод

Нормализует путь к файлу/каталогу.

Нормализация выполняет следующие действия:

  • Преобразует все разделители каталогов в DIRECTORY_SEPARATOR (например, "\a/b\c" становится "/a/b/c")
  • Удаляет хвостовые разделители каталогов (например, "/a/b/c/" становится "/a/b/c")
  • Преобразует несколько последовательных слешей в один (например, "/a///b/c" становится "/a/b/c")
  • Удаляет ".." и "." в соответствии с их значением (например, "/a/./b/../c" становится "/a/c")
public static строка normalizePath ( $path, $ds = DIRECTORY_SEPARATOR )
$path строка

Путь к файлу/каталогу, который нужно нормализовать

$ds строка

Разделитель каталогов, который должен использоваться в нормализованном результате. По умолчанию DIRECTORY_SEPARATOR.

return строка

Нормализованный путь к файлу/каталогу

removeDirectory() публичный статический метод

Рекурсивно удаляет каталог (и всё его содержимое).

public static void removeDirectory ( $dir, $options = [] )
$dir строка

Каталог, который нужно удалить рекурсивно.

$options массив

Параметры для удаления каталога. Допустимые параметры:

  • traverseSymlinks: boolean, следует ли переходить по символическим ссылкам на каталоги. По умолчанию false, что означает, что содержимое каталога, на который указывает символическая ссылка, не будет удалено. В этом случае будет удалена только символическая ссылка.
throws yii\base\ErrorException

в случае неудачи

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-helpers-basefilehelper.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API