Skip navigation
Help

file_get_content_headers

7 file.inc file_get_content_headers($file)

Examines a file object and returns appropriate content headers for download.

Parameters

$file: A file object.

Return value

An associative array of headers, as expected by file_transfer().

Related topics

1 call to file_get_content_headers()

File

drupal/includes/file.inc, line 2396
API for handling file uploads and server file management.

Code

function file_get_content_headers($file) {
  $name = mime_header_encode($file->filename);
  $type = mime_header_encode($file->filemime);
  // Serve images, text, and flash content for display rather than download.
  $inline_types = variable_get('file_inline_types', array('^text/', '^image/', 'flash$'));
  $disposition = 'attachment';
  foreach ($inline_types as $inline_type) {
    // Exclamation marks are used as delimiters to avoid escaping slashes.
    if (preg_match('!' . $inline_type . '!', $file->filemime)) {
      $disposition = 'inline';
    }
  }

  return array(
    'Content-Type' => $type . '; name="' . $name . '"', 
    'Content-Length' => $file->filesize, 
    'Content-Disposition' => $disposition . '; filename="' . $name . '"', 
    'Cache-Control' => 'private',
  );
}