wireSendFile() function

Send the contents of the given filename via http

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.

This is procedural version of the $files->send() method. See that method for all options.

Usage

// basic usage
wireSendFile(string $filename, array $headers);

// usage with all arguments
wireSendFile(string $filename, array $options = array, 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)

headersarray

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

Exceptions

Method can throw exceptions on error:

  • WireException

See Also


Functions methods and properties

API reference based on ProcessWire core version 3.0.137

Twitter updates

  • ProcessWire 3.0.146 on the dev branch contains about 22 commits with a combination of useful upgrades and issue report resolutions, more details in this forum post: More
    22 November 2019
  • ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core. More
    8 November 2019
  • ProcessWire 3.0.144 core updates: Upgraded overrides section in the field editor, a new Inputfields JS API, and more— More
    1 November 2019

Latest news

  • ProcessWire Weekly #291
    In the 291st issue of ProcessWire Weekly we're going to take a closer look at the latest core updates, check out a brand new third party module called ProcessHelpVideos, and introduce a new site of the week. Read on!
    Weekly.pw / 8 December 2019
  • New User Activity module
    Blog / 29 November 2019
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK