file_download
function file_download
file_download()
Menu handler for private file transfers.
Call modules that implement hook_file_download() to find out if a file is accessible and what headers it should be transferred with. If one or more modules returned headers the download will start with the returned headers. If a module returns -1 drupal_access_denied() will be returned. If the file exists but no modules responded drupal_access_denied() will be returned. If the file does not exist drupal_not_found() will be returned.
See also
Related topics
File
- includes/file.inc, line 1990
- API for handling file uploads and server file management.
Code
function file_download() { // Merge remainder of arguments from GET['q'], into relative file path. $args = func_get_args(); $scheme = array_shift($args); $target = implode('/', $args); $uri = $scheme . '://' . $target; if (file_stream_wrapper_valid_scheme($scheme) && file_exists($uri)) { $headers = file_download_headers($uri); if (count($headers)) { file_transfer($uri, $headers); } drupal_access_denied(); } else { drupal_not_found(); } drupal_exit(); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!file.inc/function/file_download/7.x