Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. BinaryFileResponse.php

function BinaryFileResponse::setContentDisposition

Sets the Content-Disposition header with the given filename.

Parameters

string $disposition ResponseHeaderBag::DISPOSITION_INLINE or ResponseHeaderBag::DISPOSITION_ATTACHMENT:

string $filename Optionally use this UTF-8 encoded filename instead of the real name of the file:

string $filenameFallback A fallback filename, containing only ASCII characters. Defaults to an automatically encoded filename:

Return value

$this

1 call to BinaryFileResponse::setContentDisposition()
BinaryFileResponse::setFile in vendor/symfony/http-foundation/BinaryFileResponse.php
Sets the file to stream.

File

vendor/symfony/http-foundation/BinaryFileResponse.php, line 155

Class

BinaryFileResponse
BinaryFileResponse represents an HTTP response delivering a file.

Namespace

Symfony\Component\HttpFoundation

Code

public function setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '') : static {
    if ('' === $filename) {
        $filename = $this->file
            ->getFilename();
    }
    if ('' === $filenameFallback && (!preg_match('/^[\\x20-\\x7e]*$/', $filename) || str_contains($filename, '%'))) {
        $encoding = mb_detect_encoding($filename, null, true) ?: '8bit';
        for ($i = 0, $filenameLength = mb_strlen($filename, $encoding); $i < $filenameLength; ++$i) {
            $char = mb_substr($filename, $i, 1, $encoding);
            if ('%' === $char || \ord($char) < 32 || \ord($char) > 126) {
                $filenameFallback .= '_';
            }
            else {
                $filenameFallback .= $char;
            }
        }
    }
    $dispositionHeader = $this->headers
        ->makeDisposition($disposition, $filename, $filenameFallback);
    $this->headers
        ->set('Content-Disposition', $dispositionHeader);
    return $this;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal