BinaryFileResponse
class BinaryFileResponse extends Response
BinaryFileResponse представляет HTTP-ответ, предоставляющий файл.
Постоянные значения
| HTTP_CONTINUE | |
| HTTP_SWITCHING_PROTOCOLS | |
| HTTP_PROCESSING | |
| 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_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 | from Response | |
| static array | $statusTexts | Таблица перевода кодов состояния. | from Response |
Методы
| __construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, null|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, null|string $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, mixed $text = null) Устанавливает код состояния ответа. | от Response |
| int | getStatusCode() Возвращает код состояния текущего веб-ответа. | от Response |
| $this | setCharset(string $charset) Устанавливает кодировку ответа. | от Response |
| string | getCharset() Возвращает кодировку ответа. | от Response |
| bool | isCacheable() Возвращает true, если ответ стоит кэшировать при любых обстоятельствах. | от Response |
| bool | isFresh() Возвращает true, если ответ "свежий". | от Response |
| bool | isValidateable() Возвращает true, если ответ содержит заголовки, которые могут быть использованы для валидации ответа с исходным сервером с помощью запроса conditional GET. | от Response |
| $this | setPrivate() Помечает ответ как "приватный". | от Response |
| $this | setPublic() Помечает ответ как "публичный". | от Response |
| bool | mustRevalidate() Возвращает true, если ответ должен быть перепроверен кэшами. | от Response |
| DateTime | getDate() Возвращает заголовок Date в качестве экземпляра DateTime. | от Response |
| $this | setDate(DateTime $date) Устанавливает заголовок Date. | от Response |
| int | getAge() Возвращает возраст ответа. | от Response |
| $this | expire() Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа. | от Response |
| DateTime|null | getExpires() Возвращает значение заголовка Expires как экземпляр DateTime. | от Response |
| $this | setExpires(DateTime $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 |
| DateTime|null | getLastModified() Возвращает заголовок Last-Modified HTTP как экземпляр DateTime. | от Response |
| $this | setLastModified(DateTime $date = null) Устанавливает заголовок Last-Modified HTTP с экземпляром DateTime. | от Response |
| string|null | getEtag() Возвращает буквальное значение заголовка ETag HTTP. | от Response |
| $this | setEtag(string|null $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() Успешен ли ответ? | из Response |
| bool | isForbidden() Запрещен ли ответ? | из Response |
| bool | isNotFound() Является ли ответ ошибкой "не найдено"? | из Response |
| bool | isRedirect(string $location = null) Является ли ответ перенаправлением? | из Response |
| bool | isEmpty() Пуст ли ответ? | из Response |
| static | closeOutputBuffers(int $targetLevel, bool $flush) Очищает или сбрасывает буферы вывода до целевого уровня. | из 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, файл будет удален после отправки запроса. Примечание: если используется заголовок X-Sendfile, значение deleteFileAfterSend не будет использоваться. |
Подробности
__construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
Параметры
| SplFileInfo|string | $file | Файл для потоковой передачи |
| int | $status | Код состояния ответа |
| array | $headers | Массив заголовков ответа |
| bool | $public | Файлы по умолчанию публичны |
| null|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, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
Параметры
| SplFileInfo|string | $file | Файл для потоковой передачи |
| int | $status | Код состояния ответа |
| array | $headers | Массив заголовков ответа |
| bool | $public | Файлы по умолчанию публичны |
| null|string | $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 | Экземпляр 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 | Версия HTTP-протокола |
Значение, возвращаемое функцией
| $this |
string getProtocolVersion()
Получает версию HTTP-протокола.
Значение, возвращаемое функцией
| string | Версия HTTP-протокола |
$this setStatusCode(int $code, mixed $text = null)
Устанавливает код состояния ответа.
Если текст состояния равен null, он будет автоматически заполнен для известных кодов состояния и оставлен пустым в противном случае.
Параметры
| int | $code | Код HTTP-состояния |
| mixed | $text | Текст HTTP-состояния |
Значение, возвращаемое функцией
| $this |
Исключения
| InvalidArgumentException | При некорректном коде HTTP-состояния |
int getStatusCode()
Возвращает код состояния текущего ответа веб-страницы.
Значение, возвращаемое функцией
| int | Код состояния |
$this setCharset(string $charset)
Устанавливает кодировку ответа.
Параметры
| string | $charset | Кодировка |
Значение, возвращаемое функцией
| $this |
string getCharset()
Возвращает кодировку ответа.
Значение, возвращаемое функцией
| string | Кодировка |
bool isCacheable()
Возвращает true, если ответ подходит для кэширования в любом случае.
Ответы, помеченные как «приватные» с явным направлением Cache-Control, считаются некэшируемыми.
Ответы без срока хранения (Expires, max-age) или валидатора кэша (Last-Modified, ETag) считаются некэшируемыми.
Значение, возвращаемое функцией
| bool | true, если ответ подходит для кэширования, false в противном случае |
bool isFresh()
Возвращает true, если ответ «свежий».
Свежие ответы могут быть обработаны из кэша без взаимодействия с источником. Ответ считается свежим, если он содержит индикатор Cache-Control/max-age или заголовок Expires, и вычисленный возраст меньше срока хранения.
Значение, возвращаемое функцией
| bool | true, если ответ свежий, false в противном случае |
bool isValidateable()
Возвращает true, если ответ содержит заголовки, которые могут быть использованы для проверки ответа с сервером-источником с помощью условного запроса GET.
Значение, возвращаемое функцией
| bool | true, если ответ валидируемый, false в противном случае |
$this setPrivate()
Помечает ответ как «приватный».
Это делает ответ недоступным для других клиентов.
Значение, возвращаемое функцией
| $this |
$this setPublic()
Помечает ответ как «публичный».
Это делает ответ доступным для других клиентов.
Значение, возвращаемое функцией
| $this |
bool mustRevalidate()
Возвращает true, если ответ должен быть повторно проверен кэшами.
Этот метод указывает, что ответ не должен обслуживаться устаревшим кэшем ни при каких обстоятельствах без предварительной проверки у источника. При наличии TTL ответа не должно быть больше, чем значение, предоставленное источником.
Значение, возвращаемое функцией
| bool | true, если ответ должен быть повторно проверен кэшем, false в противном случае |
DateTime getDate()
Возвращает заголовок Date как экземпляр DateTime.
Значение, возвращаемое функцией
| DateTime | Экземпляр \DateTime |
Исключения
| RuntimeException | При невозможности разобрать заголовок |
$this setDate(DateTime $date)
Устанавливает заголовок Date.
Параметры
| DateTime | $date | Экземпляр \DateTime |
Значение, возвращаемое функцией
| $this |
int getAge()
Возвращает возраст ответа.
Значение, возвращаемое функцией
| int | Возраст ответа в секундах |
$this expire()
Помечает ответ как устаревший, установив заголовок Age равным максимальному возрасту ответа.
Значение возвращаемого значения
| $this |
DateTime|null getExpires()
Возвращает значение заголовка Expires в виде экземпляра DateTime.
Значение возвращаемого значения
| DateTime|null | Экземпляр DateTime или null, если заголовок не существует |
$this setExpires(DateTime $date = null)
Устанавливает заголовок Expires HTTP с помощью экземпляра DateTime.
Передача null в качестве значения удалит заголовок.
Параметры
| DateTime | $date | Экземпляр \DateTime или null для удаления заголовка |
Значение возвращаемого значения
| $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 | Время жизни (TTL) в секундах |
$this setTtl(int $seconds)
Устанавливает время жизни ответа для общих кэшей.
Этот метод настраивает директиву Cache-Control/s-maxage.
Параметры
| int | $seconds | Количество секунд |
Значение возвращаемого значения
| $this |
$this setClientTtl(int $seconds)
Устанавливает время жизни ответа для частных/клиентских кэшей.
Этот метод настраивает директиву Cache-Control/max-age.
Параметры
| int | $seconds | Количество секунд |
Значение возвращаемого значения
| $this |
DateTime|null getLastModified()
Возвращает заголовок Last-Modified HTTP в виде экземпляра DateTime.
Значение возвращаемого значения
| DateTime|null | Экземпляр DateTime или null, если заголовок не существует |
Исключения
| RuntimeException | При невозможности парсинга HTTP заголовка |
$this setLastModified(DateTime $date = null)
Устанавливает заголовок Last-Modified HTTP с помощью экземпляра DateTime.
Передача null в качестве значения удалит заголовок.
Параметры
| DateTime | $date | Экземпляр \DateTime или null для удаления заголовка |
Значение возвращаемого значения
| $this |
string|null getEtag()
Возвращает текстовое значение заголовка ETag HTTP.
Значение возвращаемого значения
| string|null | Заголовок ETag HTTP или null, если он не существует |
$this setEtag(string|null $etag = null, bool $weak = false)
Устанавливает значение ETag.
Параметры
| string|null | $etag | Уникальный идентификатор ETag или null для удаления заголовка |
| bool | $weak | Необходим ли слабый ETag |
Значение возвращаемого значения
| $this |
$this setCache(array $options)
Устанавливает заголовки кэширования ответа (валидации и/или истечения срока действия).
Доступные параметры: etag, lastmodified, maxage, s_maxage, private и public.
Параметры
| array | $options | Массив параметров кэширования |
Значение возвращаемого значения
| $this |
Исключения
| InvalidArgumentException |
$this setNotModified()
Изменяет ответ так, чтобы он соответствовал правилам, определенным для кода состояния 304.
Это устанавливает состояние, удаляет тело и отбрасывает любые заголовки, которые НЕ ДОЛЖНЫ включаться в ответы 304.
Значение возвращаемого значения
| $this |
См. также
| http://tools.ietf.org/html/rfc2616#section-10.3.5 |
bool hasVary()
Возвращает true, если ответ содержит заголовок Vary.
Значение возвращаемого значения
| bool | true, если ответ содержит заголовок Vary, иначе false |
array getVary()
Возвращает массив имён заголовков, указанных в заголовке Vary.
Значение возвращаемого значения
| array | Массив имён Vary |
$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()
Ответ OK?
Значение возвращаемого значения
| bool |
bool isForbidden()
Ответ запрещен?
Значение возвращаемого значения
| bool |
bool isNotFound()
Ошибка «не найдено»?
Значение возвращаемого значения
| bool |
bool isRedirect(string $location = null)
Ответ является перенаправлением?
Параметры
| string | $location |
Значение возвращаемого значения
| bool |
bool isEmpty()
Пустой ли ответ?
Значение возвращаемого значения
| bool |
static closeOutputBuffers(int $targetLevel, bool $flush)
Очищает или сбрасывает буферы вывода до заданного уровня.
Полученный уровень может быть больше, чем целевой уровень, если был встречен не удаляемый буфер.
Параметры
| int | $targetLevel | Целевой уровень буферизации вывода |
| bool | $flush | Выполнить сброс или очистку буферов |
$this setFile(SplFileInfo|string $file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
Устанавливает файл для потоковой передачи.
Параметры
| SplFileInfo|string | $file | Файл для потоковой передачи |
| string | $contentDisposition | |
| bool | $autoEtag | |
| bool | $autoLastModified |
Значение возвращаемого значения
| $this |
Исключения
| FileException |
File getFile()
Возвращает файл.
Значение возвращаемого значения
| File | Файл для потоковой передачи |
setAutoLastModified()
Автоматически устанавливает заголовок Last-Modified в соответствии с датой изменения файла.
setAutoEtag()
Автоматически устанавливает заголовок ETag в соответствии с контрольной суммой файла.
$this setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '')
Устанавливает заголовок Content-Disposition с заданным именем файла.
Параметры
| string | $disposition | ResponseHeaderBag::DISPOSITIONINLINE или ResponseHeaderBag::DISPOSITIONATTACHMENT |
| string | $filename | Необязательно использовать это закодированное в UTF-8 имя файла вместо реального имени файла |
| string | $filenameFallback | Запасное имя файла, содержащее только символы ASCII. По умолчанию автоматически закодированное имя файла |
Значение возвращаемого значения
| $this |
static trustXSendfileTypeHeader()
Доверять заголовку X-Sendfile-Type.
$this deleteFileAfterSend(bool $shouldDelete)
Если это значение установлено в true, файл будет удалён после отправки запроса. Примечание: Если используется заголовок X-Sendfile, настройка deleteFileAfterSend не будет использоваться.
Параметры
| bool | $shouldDelete |
Значение возвращаемого значения
| $this |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/HttpFoundation/BinaryFileResponse.html