Appearance
Файловая система
Для работы с файловой системы предусмотрен ряд классов, позволяющих представить директории и файлы в виде классов. Классы универсальны для работы как в UNIX системах, так и в Windows.
Директория
Класс \Realweb\Api\Model\FileSystem\Dir в качестве конструктора принимает полный путь от корня файловой системы
Имеет ряд встроенных методов
public function getName(): string- возвращает полный путь до директории, как он был задан в конструктореpublic function getOriginalName(): string- возвращает название директорииpublic function getPublicPath(): string- возвращает путь до директории относительноDOCUMENT_ROOTpublic function getPath(): string- возвращает полный путь до директории. Если директория не существует - пустая строкаpublic function isExist(): bool- проверка на существованиеpublic function create(int $iRights = 0755): bool- создание директории, если она не существует. Создание директорий происходит рекурсивно. В качестве параметра принимает права на создаваемые директорииpublic function getParent(): static- возвращает объект директории-родителяpublic function getChildren(?string $strMode = null): Collection- получение коллекции элементов вытури директории. Может содержать как директории, так и файлыpublic function delete(): bool- удаление директории вместе со всеми своими детьми
Директория относительно корня сайта
Публичная директория \Realweb\Api\Model\FileSystem\Dir\PublicDir наследуется от \Realweb\Api\Model\FileSystem\Dir, но в качестве параметра конструктора принимает путь до директории относительно DOCUMENT_ROOT
Файл
Класс \Realweb\Api\Model\FileSystem\File в качестве конструктора принимает полный путь от корня файловой системы
Имеет ряд встроенных методов
public function getName(): string- возвращает полный путь до файла, как он был задан в конструктореpublic function getPublicPath(): string- возвращает путь до файла относительноDOCUMENT_ROOTpublic function getPath(): string- возвращает полный путь до файла. Если файл не существует - пустая строкаpublic function isExist(): bool- проверка на существованиеpublic function getParent(): Dir- возвращает родительскую директориюpublic function getExtension(): ?string- возвращает расширение файлаpublic function getOriginalName(): string- возвращает название файла basenamepublic function getFileName(): ?string- возвращает название файла filenamepublic function getMimeType(): string- возвращает тип файлаpublic function getSize(): int- возвращает размер файлаpublic function getImageSize(): ?array- возвращает размер картинкиpublic function getWidth(): int- возвращает ширину картинкиpublic function getHeight(): int- возвращает высоту картинкиpublic function getBody(): string- возвращает содержимое файлаpublic function getStream(): ?string- возвращает содержимое открытого файлаpublic function getHash(): string- возвращает уникальный идентификатор файлаpublic function getHashContent(): string- возвращает md5_file файлаpublic function getTime(): ?int- возвращает время последней модификацииpublic function setContent(string $strContent): static- устанавливает содержимое файла перед сохранениемpublic function getContent(): string- возвращает содержимое файла, установленного перед сохранениемpublic function isImage(): bool- проверка на картинкуpublic function save(): static- сохранение файлаpublic function delete(): void- удаление файла
Файл относительно корня сайта
Публичный файл \Realweb\Api\Model\FileSystem\File\PublicFile наследуется от \Realweb\Api\Model\FileSystem\File, но в качестве параметра конструктора принимает путь до файла относительно DOCUMENT_ROOT
Имеет встроенный метод
public function getResizeFile(?int $iHeight = null, $iWidth = null, int $iResizeType = BX_RESIZE_IMAGE_PROPORTIONAL): static- получение ресайза картинки
Внешний файл
Внешний файл (на удаленном сервере) \Realweb\Api\Model\FileSystem\File\ExternalFile, наследуется от \Realweb\Api\Model\FileSystem\File, но в качестве параметра конструктора принимает абсолютную ссылку
Имеет встроенные методы
public function getArFile(): array- получение массива для сохранения вbitrixpublic function saveFile(): int- сохранение файла вbitrix
Bitrix
Для файлов, зарегистрированными в БД Bitrix (картинки, медиа-файлы) предусмотрен набор классов
Database
Класс \Realweb\Api\Model\FileSystem\Bitrix\Database расширяет базовый класс \Realweb\Api\Model\Data\Database. Также запрашивает и относительный путь до файла
В качестве параметров можно предавать следующие:
id - integer, фильтр по IDids - array, фильтр по массиву ID
Entity
Основная сущность файла (запись в БД) класс \Realweb\Api\Model\FileSystem\Bitrix\Entity расширяет базовый класс \Realweb\Api\Model\Data\Entity
Имеет встроенные методы:
int getId()- возвращает IDstring getFileSrc()- возвращает путь до файла относительно корня сайтаstring getDescription()- возвращает описание файлаstring getOriginalName()- возвращает оригинальное название файлаstring getFileName()- возвращает имя файлаstring getFileSize()- возвращает размер файлаpublic function getFile(): \Realweb\Api\Model\FileSystem\File\PublicFile- получение объекта файла