$files->send() method

Send the contents of the given filename to the current http connection

This function utilizes the $config->fileContentTypes to match file extension to content type headers and force-download state.

This function throws a WireException if the file can't be sent for some reason.

Usage

// basic usage
$files->send(string $filename);

// usage with all arguments
$files->send(string $filename, array $options = [], array $headers = []);

Arguments

NameType(s)Description
filenamestring

Full path and filename to send

options (optional)array

Optional options that you may pass in (see WireHttp::sendFile() for details)

headers (optional)array

Optional headers that are sent (see WireHttp::sendFile() for details)

Exceptions

Method can throw exceptions on error:

  • WireException

See Also


$files methods and properties

API reference based on ProcessWire core version 3.0.168

Twitter updates

  • Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021? More
    1 January 2021
  • In this week’s blog post we’ll take a brief look at a powerful new ProFields module for ProcessWire that’s just around the corner—the Combo field: More
    4 December 2020
  • There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new—More
    20 November 2020

Latest news

  • ProcessWire Weekly #347
    In the 347th issue of ProcessWire Weekly we'll check out ProcessWire 3.0.170, introduce the PDF Fieldtype/Inputfield module, and more. Read on!
    Weekly.pw / 2 January 2021
  • ProcessWire 3.0.170 core updates
    Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021?
    Blog / 1 January 2021
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani