Spec-Zone.ru › Yii 2.0

Класс yii\web\MultipartFormDataParser

Все классы | Свойства | Методы
Наследование yii\web\MultipartFormDataParser » yii\base\Object
Реализует yii\base\Configurable, yii\web\RequestParserInterface
Доступна с версии 2.0.10
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/web/MultipartFormDataParser.php

MultipartFormDataParser парсит содержимое, закодированное как 'multipart/form-data'.

Этот парсер предоставляет резервный вариант для обработки 'multipart/form-data' при запросах, отличных от POST, например: при запросе с методом 'PUT'.

Для включения этого парсера необходимо настроить yii\web\Request::$parsers следующим образом:

return [
    'components' => [
        'request' => [
            'parsers' => [
                'multipart/form-data' => 'yii\web\MultipartFormDataParser'
            ],
        ],
        // ...
    ],
    // ...
];

Метод parse() этого парсера автоматически заполняет $_FILES файлами, извлечёнными из тела запроса.

Примечание: поскольку это парсер запроса, он инициализирует значения $_FILES в yii\web\Request::getBodyParams(). До вызова этого метода массив $_FILES остаётся пустым, даже если в теле запроса есть отправленные файлы. Убедитесь, что вы запросили параметры тела запроса перед любой попыткой получить загруженный файл, если используете этот парсер.

Пример использования:

use yii\web\UploadedFile;

$restRequestData = Yii::$app->request->getBodyParams();
$uploadedFile = UploadedFile::getInstancesByName('photo');

$model = new Item();
$model->populate($restRequestData);
copy($uploadedFile->tempName, '/path/to/file/storage/photo.jpg');

Примечание: хотя этот парсер полностью эмулирует обычную структуру $_FILES, связанные временные файлы, доступные через ключ tmp_name, не будут распознаны PHP как загруженные. Таким образом, функции, такие как is_uploaded_file() и move_uploaded_file(), не сработают с ними. Это также означает, что yii\web\UploadedFile::saveAs() также не сработает.

Открытые свойства

Свойство Тип Описание Определено в
$uploadFileMaxCount целое число Максимальное количество загружаемых файлов. yii\web\MultipartFormDataParser
$uploadFileMaxSize целое число Максимальный размер загружаемого файла в байтах. yii\web\MultipartFormDataParser

Открытые методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
getUploadFileMaxCount() yii\web\MultipartFormDataParser
getUploadFileMaxSize() yii\web\MultipartFormDataParser
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
parse() Парсит тело HTTP-запроса. yii\web\MultipartFormDataParser
setUploadFileMaxCount() yii\web\MultipartFormDataParser
setUploadFileMaxSize() yii\web\MultipartFormDataParser

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

$uploadFileMaxCount общедоступное свойство

Максимальное количество загружаемых файлов.

public integer getUploadFileMaxCount ( )
public void setUploadFileMaxCount ( $uploadFileMaxCount )

$uploadFileMaxSize общедоступное свойство

Максимальный размер загружаемого файла в байтах.

public integer getUploadFileMaxSize ( )
public void setUploadFileMaxSize ( $uploadFileMaxSize )

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

getUploadFileMaxCount() public method

public integer getUploadFileMaxCount ( )
return integer

Максимальное количество загружаемых файлов.

getUploadFileMaxSize() public method

public integer getUploadFileMaxSize ( )
return integer

Максимальный размер загружаемого файла в байтах.

parse() public method

Парсит тело HTTP-запроса.

public array parse ( $rawBody, $contentType )
$rawBody string

Необработанное тело HTTP-запроса.

$contentType string

Тип содержимого, указанный для тела запроса.

return array

Параметры, распарсенные из тела запроса

setUploadFileMaxCount() public method

public void setUploadFileMaxCount ( $uploadFileMaxCount )
$uploadFileMaxCount integer

Максимальное количество загружаемых файлов.

setUploadFileMaxSize() public method

public void setUploadFileMaxSize ( $uploadFileMaxSize )
$uploadFileMaxSize integer

Максимальный размер загружаемого файла в байтах.

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

Spec-Zone.ru

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