wireIncludeFile() function

Include a PHP file passing it all API variables and optionally your own specified variables

This is the procedural version of the $files->include() method.

This is the same as PHP’s include() function except for the following:

  • It receives all API variables and optionally your custom variables
  • If your filename is not absolute, it doesn’t look in PHP’s include path, only in the current dir.
  • It only allows including files that are part of the PW installation: templates, core modules or site modules
  • It will assume a “.php” extension if filename has no extension.

Note this function produces direct output. To retrieve output as a return value, use the wireRenderFile() or $files->render() function instead.

Usage

// basic usage
$bool = wireIncludeFile(string $filename);

// usage with all arguments
$bool = wireIncludeFile(string $filename, array $vars = array, array $options = include);

Arguments

NameType(s)Description
filenamestring

Filename to include

vars (optional)array

Optional variables you want to hand to the include (associative array)

options (optional)array

Array of options to modify behavior:

  • func (string): Function to use: include, include_once, require or require_once (default=include)
  • autoExtension (string): Extension to assume when no ext in filename, make blank for no auto assumption (default=php)
  • allowedPaths (array): Array of start paths include files are allowed from. Note current dir is always allowed.

Return value

bool

Always returns true

Exceptions

Method can throw exceptions on error:

  • WireException - if file doesn’t exist or is not allowed

See Also


Functions methods and properties

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.187: This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos— More
    22 October 2021
  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021

Latest news

  • ProcessWire Weekly #389
    The 389th issue of ProcessWire Weekly we'll check out the latest core updates, introduce the Session Viewer module, and more. Read on!
    Weekly.pw / 23 October 2021
  • New Repeater and Repeater Matrix features
    This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos. 
    Blog / 22 October 2021
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull