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. Set the throw
option to
false if you want it to instead return integer 0 when errors occur.
Usage
// basic usage
$int = $files->send($filename);
// usage with all arguments
$int = $files->send($filename, array $options = [], array $headers = []);
Arguments
Name | Type(s) | Description |
---|
$filename | string bool | Full path and filename to send or boolean false if provided in $options[data] . |
$options (optional) | array | Optional options to modify default behavior: exit (bool): Halt program execution after file send Default:truepartial (bool): Allow use of partial downloads via HTTP_RANGE requests? 3.0.131 Default:trueforceDownload (bool|null): Whether file should force download, or null to let content-type header decide Default:nulldownloadFilename (string): Filename you want the download to show on user’s computer, or omit to use existing Default:''headers (array): The $headers argument to this method can also be provided as an option right here Default:[] 3.0.131.data (string): String of data to send rather than file, $filename argument must be false Default:'' 3.0.132.limitPath (string|bool): Prefix disk path $filename must be within, false to disable, true for site/assets Default:false 3.0.169.throw (bool): Throw exceptions on error? When false, it will instead return integer 0 on errors Default:true 3.0.169.
|
$headers (optional) | array | Optional headers that are sent, below are the defaults: pragma: publicexpires: 0cache-control: must-revalidate, post-check=0, pre-check=0content-type: {content-type} (replaced with actual content type)content-transfer-encoding: binarycontent-length: {filesize} (replaced with actual filesize)- To remove a header completely, make its value NULL.
- If preferred, the above headers can be specified in
$options[headers] instead.
|
Return value
int
Returns bytes sent, only if exit
option is false 3.0.169
Exceptions
Method can throw exceptions on error:
See Also
$files methods and properties
API reference based on ProcessWire core version 3.0.251