Spec-Zone.ru › Symfony 4.1

BinaryFileResponse

class BinaryFileResponse extends Response

BinaryFileResponse представляет HTTP-ответ, доставляющий файл.

Постоянные значения

HTTP_CONTINUE
HTTP_SWITCHING_PROTOCOLS
HTTP_PROCESSING
HTTP_EARLY_HINTS
HTTP_OK
HTTP_CREATED
HTTP_ACCEPTED
HTTP_NON_AUTHORITATIVE_INFORMATION
HTTP_NO_CONTENT
HTTP_RESET_CONTENT
HTTP_PARTIAL_CONTENT
HTTP_MULTI_STATUS
HTTP_ALREADY_REPORTED
HTTP_IM_USED
HTTP_MULTIPLE_CHOICES
HTTP_MOVED_PERMANENTLY
HTTP_FOUND
HTTP_SEE_OTHER
HTTP_NOT_MODIFIED
HTTP_USE_PROXY
HTTP_RESERVED
HTTP_TEMPORARY_REDIRECT
HTTP_PERMANENTLY_REDIRECT
HTTP_BAD_REQUEST
HTTP_UNAUTHORIZED
HTTP_PAYMENT_REQUIRED
HTTP_FORBIDDEN
HTTP_NOT_FOUND
HTTP_METHOD_NOT_ALLOWED
HTTP_NOT_ACCEPTABLE
HTTP_PROXY_AUTHENTICATION_REQUIRED
HTTP_REQUEST_TIMEOUT
HTTP_CONFLICT
HTTP_GONE
HTTP_LENGTH_REQUIRED
HTTP_PRECONDITION_FAILED
HTTP_REQUEST_ENTITY_TOO_LARGE
HTTP_REQUEST_URI_TOO_LONG
HTTP_UNSUPPORTED_MEDIA_TYPE
HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
HTTP_EXPECTATION_FAILED
HTTP_I_AM_A_TEAPOT
HTTP_MISDIRECTED_REQUEST
HTTP_UNPROCESSABLE_ENTITY
HTTP_LOCKED
HTTP_FAILED_DEPENDENCY
HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL
HTTP_TOO_EARLY
HTTP_UPGRADE_REQUIRED
HTTP_PRECONDITION_REQUIRED
HTTP_TOO_MANY_REQUESTS
HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS
HTTP_INTERNAL_SERVER_ERROR
HTTP_NOT_IMPLEMENTED
HTTP_BAD_GATEWAY
HTTP_SERVICE_UNAVAILABLE
HTTP_GATEWAY_TIMEOUT
HTTP_VERSION_NOT_SUPPORTED
HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
HTTP_INSUFFICIENT_STORAGE
HTTP_LOOP_DETECTED
HTTP_NOT_EXTENDED
HTTP_NETWORK_AUTHENTICATION_REQUIRED

Свойства

ResponseHeaderBag $headers из Response
protected string $content из Response
protected string $version из Response
protected int $statusCode из Response
protected string $statusText из Response
protected string $charset из Response
static array $statusTexts Таблица переводов кодов статусов. из Response
static protected $trustXSendfileTypeHeader
protected File $file
protected $offset
protected $maxlen
protected $deleteFileAfterSend

Методы

__construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
static Response create(SplFileInfo|string $file = null, int $status = 200, array $headers = array(), bool $public = true, string|null $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
string __toString()

Возвращает ответ как строку HTTP.

из Response
__clone()

Клонирует текущий экземпляр Response.

из Response
$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

$this sendHeaders()

Отправляет HTTP-заголовки.

из Response
$this sendContent()

Отправляет файл.

$this send()

Отправляет HTTP-заголовки и содержимое.

из Response
$this setContent(mixed $content)

Устанавливает содержимое ответа.

string getContent()

Получает текущее содержимое ответа.

$this setProtocolVersion(string $version)

Устанавливает версию HTTP-протокола (1.0 или 1.1).

из Response
string getProtocolVersion()

Получает версию HTTP-протокола.

из Response
$this setStatusCode(int $code, $text = null)

Устанавливает код состояния ответа.

из Response
int getStatusCode()

Возвращает код состояния текущего ответа веб-страницы.

из Response
$this setCharset(string $charset)

Устанавливает кодировку ответа.

из Response
string|null getCharset()

Возвращает кодировку ответа.

из Response
bool isCacheable()

Возвращает true, если ответ может безопасно храниться в кэше (суррогатном).

из Response
bool isFresh()

Возвращает true, если ответ является "свежим".

из Response
bool isValidateable()

Возвращает true, если ответ содержит заголовки, которые могут использоваться для проверки ответа на сервере происхождения с помощью запроса conditional GET.

из Response
$this setPrivate()

Помечает ответ как "приватный".

из Response
$this setPublic()

Помечает ответ как "публичный".

из Response
$this setImmutable(bool $immutable = true)

Помечает ответ как "неизменяемый".

из Response
bool isImmutable()

Возвращает true, если ответ помечен как "неизменяемый".

из Response
bool mustRevalidate()

Возвращает true, если ответ должен быть перепроверен кэшами.

из Response
DateTimeInterface|null getDate()

Возвращает заголовок Date как экземпляр DateTime.

из Response
$this setDate(DateTimeInterface $date)

Устанавливает заголовок Date.

из Response
int getAge()

Возвращает возраст ответа в секундах.

из Response
$this expire()

Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа.

из Response
DateTimeInterface|null getExpires()

Возвращает значение заголовка Expires как экземпляр DateTime.

из Response
$this setExpires(DateTimeInterface $date = null)

Устанавливает HTTP-заголовок Expires с экземпляром DateTime.

из Response
int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

из Response
$this setMaxAge(int $value)

Устанавливает количество секунд, после которого ответ больше не должен считаться свежим.

из Response
$this setSharedMaxAge(int $value)

Устанавливает количество секунд, после которого ответ больше не должен считаться свежим в кэшах общего доступа.

из Response
int|null getTtl()

Возвращает время жизни ответа в секундах.

из Response
$this setTtl(int $seconds)

Устанавливает время жизни ответа для кэшей общего доступа в секундах.

из Response
$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей в секундах.

из Response
DateTimeInterface|null getLastModified()

Возвращает заголовок Last-Modified как экземпляр DateTime.

из Response
$this setLastModified(DateTimeInterface $date = null)

Устанавливает заголовок Last-Modified с экземпляром DateTime.

из Response
string|null getEtag()

Возвращает буквальное значение HTTP-заголовка ETag.

из Response
$this setEtag(string $etag = null, bool $weak = false)

Устанавливает значение ETag.

из Response
$this setCache(array $options)

Устанавливает заголовки кэширования ответа (проверка и/или срок хранения).

из Response
$this setNotModified()

Изменяет ответ так, чтобы он соответствовал правилам, определённым для кода состояния 304.

из Response
bool hasVary()

Возвращает true, если ответ содержит заголовок Vary.

из Response
array getVary()

Возвращает массив имён заголовков, указанных в заголовке Vary.

из Response
$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

из Response
bool isNotModified(Request $request)

Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условным значениям, указанным в запросе.

из Response
bool isInvalid()

Недействителен ли ответ?

из Response
bool isInformational()

Информативен ли ответ?

из Response
bool isSuccessful()

Успешен ли ответ?

из Response
bool isRedirection()

Является ли ответ перенаправлением?

из Response
bool isClientError()

Есть ли ошибка клиента?

из Response
bool isServerError()

Была ли ошибка на стороне сервера?

из Response
bool isOk()

Ответ OK?

из Response
bool isForbidden()

Ответ запрещен?

из Response
bool isNotFound()

Ошибка "не найдено"?

из Response
bool isRedirect(string $location = null)

Является ли ответ перенаправлением?

из Response
bool isEmpty()

Пуст ли ответ?

из Response
static closeOutputBuffers(int $targetLevel, bool $flush)

Очищает или сбрасывает буферы вывода до заданного уровня.

из Response
ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для SSL-шифрованных загрузок при использовании IE < 9.

из Response
$this setFile(SplFileInfo|string $file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Устанавливает файл для потоковой передачи.

File getFile()

Получает файл.

setAutoLastModified()

Автоматически устанавливает заголовок Last-Modified в соответствии с датой изменения файла.

setAutoEtag()

Автоматически устанавливает заголовок ETag в соответствии с контрольной суммой файла.

$this setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '')

Устанавливает заголовок Content-Disposition с заданным именем файла.

static trustXSendfileTypeHeader()

Доверять заголовку X-Sendfile-Type.

$this deleteFileAfterSend(bool $shouldDelete = true)

Если это значение установлено в true, файл будет удалён после отправки запроса. Примечание: Если используется заголовок X-Sendfile, значение deleteFileAfterSend не используется.

Подробности

__construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Параметры

SplFileInfo|string $file Файл для потоковой передачи
int $status
array $headers
bool $public Файлы по умолчанию общедоступны
string $contentDisposition Тип Content-Disposition для автоматической установки с именем файла
bool $autoEtag Нужно ли автоматически устанавливать заголовок ETag
bool $autoLastModified Нужно ли автоматически устанавливать заголовок Last-Modified

static Response create(SplFileInfo|string $file = null, int $status = 200, array $headers = array(), bool $public = true, string|null $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Параметры

SplFileInfo|string $file Файл для потоковой передачи
int $status Код состояния ответа
array $headers Массив заголовков ответа
bool $public Файлы по умолчанию общедоступны
string|null $contentDisposition Тип Content-Disposition для автоматической установки с именем файла
bool $autoEtag Нужно ли автоматически устанавливать заголовок ETag
bool $autoLastModified Нужно ли автоматически устанавливать заголовок Last-Modified

Возвращаемое значение

Response

string __toString()

Возвращает ответ в виде строки HTTP.

Представление ответа в виде строки такое же, как и то, которое будет отправлено клиенту, только если метод prepare() был вызван ранее.

Возвращаемое значение

string Ответ в виде строки HTTP

См. также

prepare()

__clone()

Клонирует текущий экземпляр Response.

$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

Этот метод корректирует ответ, чтобы он соответствовал RFC 2616. Большинство изменений основано на запросе, который «связан» с этим ответом.

Параметры

Request $request

Возвращаемое значение

$this

$this sendHeaders()

Отправляет заголовки HTTP.

Возвращаемое значение

$this

$this sendContent()

Отправляет файл.

{@inheritdoc}

Возвращаемое значение

$this

$this send()

Отправляет заголовки HTTP и содержимое.

Возвращаемое значение

$this

$this setContent(mixed $content)

Устанавливает содержимое ответа.

Допустимые типы — строки, числа, null и объекты, которые реализуют метод __toString().

Параметры

mixed $content Содержимое, которое можно преобразовать в строку

Возвращаемое значение

$this

Исключения

UnexpectedValueException

string getContent()

Получает текущее содержимое ответа.

Возвращаемое значение

string Содержимое

$this setProtocolVersion(string $version)

Устанавливает версию протокола HTTP (1.0 или 1.1).

Параметры

string $version

Возвращаемое значение

$this

string getProtocolVersion()

Получает версию протокола HTTP.

Возвращаемое значение

string

$this setStatusCode(int $code, $text = null)

Устанавливает код состояния ответа.

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

Параметры

int $code
$text

Возвращаемое значение

$this

Исключения

InvalidArgumentException При некорректном коде состояния HTTP

int getStatusCode()

Возвращает код состояния текущего веб-ответа.

Возвращаемое значение

int

$this setCharset(string $charset)

Устанавливает кодировку символов ответа.

Параметры

string $charset

Возвращаемое значение

$this

string|null getCharset()

Возвращает кодировку символов ответа.

Возвращаемое значение

string|null

bool isCacheable()

Возвращает true, если ответ может быть сохранен в общем (суррогатном) кэше.

Ответы, помеченные как «приватные» с явным директивой Cache-Control, считаются некэшируемыми.

Ответы без срока хранения (Expires, max-age) или валидатора кэша (Last-Modified, ETag) считаются некэшируемыми, поскольку нет способа определить, когда или как их удалить из кэша.

Обратите внимание, что RFC 7231 и RFC 7234, возможно, допускают более либеральную реализацию, например, «коды состояния, которые по умолчанию определены как кэшируемые [...] могут быть повторно использованы кэшем с эвристическим сроком действия, если не указано иное» (https://tools.ietf.org/html/rfc7231#section-6.1)

Возвращаемое значение

bool

bool isFresh()

Возвращает true, если ответ «свежий».

Свежие ответы могут быть возвращены из кэша без взаимодействия с источником. Ответ считается свежим, когда он содержит индикатор Cache-Control/max-age или заголовок Expires, а рассчитанный возраст меньше срока хранения.

Возвращаемое значение

bool

bool isValidateable()

Возвращает true, если ответ содержит заголовки, которые могут быть использованы для валидации ответа с сервером источника с помощью условного запроса GET.

Возвращаемое значение

bool

$this setPrivate()

Помечает ответ как «приватный».

Это делает ответ недоступным для других клиентов.

Возвращаемое значение

$this

$this setPublic()

Помечает ответ как «общедоступный».

Это делает ответ доступным для других клиентов.

Возвращаемое значение

$this

$this setImmutable(bool $immutable = true)

Помечает ответ как «неизменяемый».

Параметры

bool $immutable

Возвращаемое значение

$this

bool isImmutable()

Возвращает true, если ответ помечен как «неизменяемый».

Возвращаемое значение

bool

bool mustRevalidate()

Возвращает true, если ответ должен быть перепроверен кэшами.

Этот метод указывает, что ответ не должен предоставляться устаревшим кэшем ни при каких обстоятельствах без предварительной перепроверки с источником. При наличии TTL ответа не должно быть больше значения, предоставленного источником.

Возвращаемое значение

bool

DateTimeInterface|null getDate()

Возвращает заголовок Date в виде объекта DateTime.

Возвращаемое значение

DateTimeInterface|null

Исключения

RuntimeException При невозможности обработки заголовка

$this setDate(DateTimeInterface $date)

Устанавливает заголовок Date.

Параметры

DateTimeInterface $date

Значение возвращаемого значения

$this

int getAge()

Возвращает возраст ответа в секундах.

Значение возвращаемого значения

int

$this expire()

Отмечает ответ как устаревший, установив заголовок Age равным максимальному возрасту ответа.

Значение возвращаемого значения

$this

DateTimeInterface|null getExpires()

Возвращает значение заголовка Expires в виде объекта DateTime.

Значение возвращаемого значения

DateTimeInterface|null

$this setExpires(DateTimeInterface $date = null)

Устанавливает заголовок HTTP Expires с объектом DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTimeInterface $date

Значение возвращаемого значения

$this

int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

Сначала проверяется директива s-maxage, затем max-age, а затем используется заголовок expires. Возвращает null, когда максимальный возраст установить невозможно.

Значение возвращаемого значения

int|null

$this setMaxAge(int $value)

Устанавливает количество секунд, после которого ответ больше не должен считаться свежим.

Этот метод устанавливает директиву Cache-Control max-age.

Параметры

int $value

Значение возвращаемого значения

$this

$this setSharedMaxAge(int $value)

Устанавливает количество секунд, после которых ответ больше не должен считаться свежим для общих кэшей.

Этот метод устанавливает директиву Cache-Control s-maxage.

Параметры

int $value

Значение возвращаемого значения

$this

int|null getTtl()

Возвращает время жизни ответа в секундах.

Возвращает null, когда информация о свежести отсутствует в ответе.

Если TTL ответа ≤ 0, ответ не может быть предоставлен из кэша без предварительной проверки с источником.

Значение возвращаемого значения

int|null

$this setTtl(int $seconds)

Устанавливает время жизни ответа для общих кэшей в секундах.

Этот метод корректирует директиву Cache-Control/s-maxage.

Параметры

int $seconds

Значение возвращаемого значения

$this

$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей в секундах.

Этот метод корректирует директиву Cache-Control/max-age.

Параметры

int $seconds

Значение возвращаемого значения

$this

DateTimeInterface|null getLastModified()

Возвращает заголовок Last-Modified HTTP как объект DateTime.

Значение возвращаемого значения

DateTimeInterface|null

Исключения

RuntimeException Если заголовок HTTP не может быть проанализирован

$this setLastModified(DateTimeInterface $date = null)

Устанавливает заголовок HTTP Last-Modified с объектом DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTimeInterface $date

Значение возвращаемого значения

$this

string|null getEtag()

Возвращает буквальное значение заголовка ETag HTTP.

Значение возвращаемого значения

string|null

$this setEtag(string $etag = null, bool $weak = false)

Устанавливает значение ETag.

Параметры

string $etag Уникальный идентификатор ETag или null для удаления заголовка
bool $weak Требуется ли слабый ETag

Значение возвращаемого значения

$this

$this setCache(array $options)

Устанавливает заголовки кэширования ответа (валидации и/или истечения срока действия).

Доступные параметры: etag, last_modified, max_age, s_maxage, private, public и immutable.

Параметры

array $options

Значение возвращаемого значения

$this

Исключения

InvalidArgumentException

$this setNotModified()

Изменяет ответ так, чтобы он соответствовал правилам, определённым для кода состояния 304.

Устанавливает состояние, удаляет тело и отбрасывает любые заголовки, которые НЕ ДОЛЖНЫ включаться в ответы 304.

Значение возвращаемого значения

$this

См. также

http://tools.ietf.org/html/rfc2616#section-10.3.5

bool hasVary()

Возвращает true, если ответ включает заголовок Vary.

Значение возвращаемого значения

bool

array getVary()

Возвращает массив имён заголовков, указанных в заголовке Vary.

Значение возвращаемого значения

array

$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

Параметры

string|array $headers
bool $replace Заменять ли фактическое значение (по умолчанию true)

Значение возвращаемого значения

$this

bool isNotModified(Request $request)

Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условным значениям, указанным в запросе.

Если ответ не изменён, устанавливает код состояния 304 и удаляет фактическое содержимое, вызвав метод setNotModified().

Параметры

Request $request

Значение возвращаемого значения

bool true, если валидаторы ответа соответствуют запросу, иначе false

bool isInvalid()

Недействителен ли ответ?

Значение возвращаемого значения

bool

См. также

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

bool isInformational()

Является ли ответ информативным?

Значение возвращаемого значения

bool

bool isSuccessful()

Успешен ли ответ?

Значение возвращаемого значения

bool

bool isRedirection()

Является ли ответ перенаправлением?

Значение возвращаемого значения

bool

bool isClientError()

Есть ли ошибка клиента?

Значение возвращаемого значения

bool

bool isServerError()

Была ли ошибка на стороне сервера?

Значение возвращаемого значения

bool

bool isOk()

Успешен ли ответ?

Значение возвращаемого значения

bool

bool isForbidden()

Запрещён ли ответ?

Значение возвращаемого значения

bool

bool isNotFound()

Ошибка «не найдено»?

Значение возвращаемого значения

bool

bool isRedirect(string $location = null)

Является ли ответ перенаправлением?

Параметры

строка $location

Значение возврата

логическое

логическое isEmpty()

Пуст ли ответ?

Значение возврата

логическое

статическое closeOutputBuffers(int $targetLevel, bool $flush)

Очищает или сбрасывает буферы вывода до целевого уровня.

Результирующий уровень может быть больше целевого уровня, если был встречен не удаляемый буфер.

Параметры

целое $targetLevel
логическое $flush

защищённый ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для SSL-зашифрованных загрузок при использовании IE < 9.

Параметры

Request $request

См. также

http://support.microsoft.com/kb/323308

$this setFile(SplFileInfo|string $file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Устанавливает файл для потоковой передачи.

Параметры

SplFileInfo|строка $file Файл для потоковой передачи
строка $contentDisposition
логическое $autoEtag
логическое $autoLastModified

Значение возврата

$this

Исключения

FileException

Файл getFile()

Получает файл.

Значение возврата

Файл Файл для потоковой передачи

setAutoLastModified()

Автоматически устанавливает заголовок Last-Modified в соответствии с датой изменения файла.

setAutoEtag()

Автоматически устанавливает заголовок ETag в соответствии с контрольной суммой файла.

$this setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '')

Устанавливает заголовок Content-Disposition с заданным именем файла.

Параметры

строка $disposition ResponseHeaderBag::DISPOSITION_INLINE или ResponseHeaderBag::DISPOSITION_ATTACHMENT
строка $filename Можно использовать это кодированное в UTF-8 имя файла вместо реального имени файла
строка $filenameFallback Запасное имя файла, содержащее только символы ASCII. По умолчанию автоматически кодированное имя файла

Значение возврата

$this

статическое trustXSendfileTypeHeader()

Доверять заголовку X-Sendfile-Type.

$this deleteFileAfterSend(bool $shouldDelete = true)

Если установлено в true, файл будет удалён после отправки запроса. Примечание: если используется заголовок X-Sendfile, значение deleteFileAfterSend не используется.

Параметры

логическое $shouldDelete

Значение возврата

$this

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/HttpFoundation/BinaryFileResponse.html

Spec-Zone.ru

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