Класс Upload

Методы для закачки файлов.

Upload::format($files)

Преобразование суперглобального массива $_FILES к нормальному виду, когда старшими ключами являются ключи массива name формы, а параметры файла стоят в младших ключах.

  • Возвращает нормализованный массив.
  • $files — суперглобальный массив $_FILES.

Пример: $normalizedFiles = Upload::format($_FILES);

Upload::uploadFiles($normalizedFiles, $dstDir, $unzip=null)

Универсальный метод для закачки файлов. Имена файлов преобразуются к безопасному виду (латинская транслитерация и т.п.). Если в папке уже есть такой файл, то приписывается суффикс.

  • Возвращает массив закачанных файлов в таком же виде, что и массив name формы. Значениями массива являются окончательные имена файлов.
  • $normalizedFiles — массив, полученный с помощью метода Upload::format($_FILES). Размерность массива name формы: 0,1,2.
  • $dstDir — путь для закачки файлов.
  • $unzip — автоматически разархивировать файлы (в архиве должен находиться только один файл).

Пример:

$uploadedFiles = Upload::uploadFiles(
    Upload::format($_FILES),
    Blox::info('site','dir').'/temp'
);

Upload::updateFiles($tbl, $normalizedFiles, $wdata, $typesDetails=null)

Обновление штатных данных типа "file"

  • Возвращает true|false
  • $tbl — имя таблицы штатных данных. Пример: '$shop/catalog/goods/photos'
  • $normalizedFiles — массив, полученный с помощью метода Upload::format($_FILES).
  • $wdata — ключевые данные таблицы. Пример: ['rec-id'=>180, 'block-id'=>377]
  • $typesDetails — массив параметров типов данных, полученный с помощью методов Tdd::getTypesDetailsByColumns() или Tdd::getTypesDetails().