$files->filePutContents() method

Create (overwrite or append) a file, put the $contents in it, and adjust permissions

This is the same as PHP’s file_put_contents() except that it’s preferable to use this in ProcessWire because it adjusts the file permissions configured with $config->chmodFile.

Usage

// basic usage
$int = $files->filePutContents(string $filename, $contents);

// usage with all arguments
$int = $files->filePutContents(string $filename, $contents, int $flags = 0);

Arguments

NameType(s)Description
filenamestring

Filename to write to

contentsstring, mixed

Contents to write to file

flags (optional)int

Flags to modify behavior:

  • FILE_APPEND (constant): Append to file if it already exists.
  • LOCK_EX (constant): Acquire exclusive lock to file while writing.

Return value

int bool

Number of bytes written or boolean false on fail

Exceptions

Method can throw exceptions on error:

  • WireException - if given invalid $filename (since 3.0.118)

See Also


$files methods and properties

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.190 has 15 commits relative to 3.0.189 and contains a mixture of issue resolutions and feature additions. We’ll review these below, in addition to updates for the PageAutosave and ProFields Table modules— More
    3 December 2021
  • Great video by @jlahijani that demonstrates his ProcessWire page builder using ProFields Repeater Matrix, the new Page Autosave + Live Preview module and Uikit 3— youtube.com/watch?v=Rb5kiU…
    13 November 2021
  • More development on page automatic save this week, plus the addition of live preview— More
    12 November 2021

Latest news

  • ProcessWire Weekly #395
    In the 395th issue of ProcessWire Weekly we'll cover the latest core updates, check out the MJLM to HTML module, and more. Read on!
    Weekly.pw / 4 December 2021
  • ProcessWire 3.0.190 core updates
    ProcessWire 3.0.190 has 15 commits relative to 3.0.189 and contains a mixture of issue resolutions and feature additions. This post covers them all, in addition to updates for the PageAutosave and ProFields Table modules.
    Blog / 3 December 2021
  • 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