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.200

Twitter updates

  • Weekly update for July 22– Looking back at what web development was like in the year 2000. Plus some more discussion on the path from CKEditor 4 to CkEditor 5 in ProcessWire: More
    22 July 2022
  • ProcessWire 3.0.203 core updates: new support for custom fields on comments and more— More
    15 July 2022
  • New blog: Debugging tools built-in to ProcessWire. ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them… More
    1 July 2022

Latest news

  • ProcessWire Weekly #428
    In the 428th issue of ProcessWire Weekly we'll take a quick dive into the weekly update from Ryan, introduce a couple of brand new third party modules, and more. Read on!
    Weekly.pw / 23 July 2022
  • Debugging tools built into ProcessWire
    ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them.
    Blog / 1 July 2022
  • 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