Pagefile::filedata() method

Get or set filedata

Filedata is any additional data that you want to store with the file’s database record.

  • To get a value, specify just the $key argument. Null is returned if request value is not present.
  • To get all values, omit all arguments. An associative array will be returned.
  • To set a value, specify the $key and the $value to set.
  • To set all values at once, specify an associative array for the $key argument.
  • To unset, specify boolean false (or null) for $key, and the name of the property to unset as $value.
  • To unset, you can also get all values, unset it from the retuned array, and set the array back.


// basic usage
$mixed = $pagefile->filedata();

// usage with all arguments
$mixed = $pagefile->filedata($key = '', $value = null);


key (optional)string, array, false, null

Specify array to set all file data, or key (string) to set or get a property, Or specify boolean false to remove key specified by $value argument.

value (optional)null, string, array, int, float

Specify a value to set for given property

Return value


Pagefile methods and properties

API reference based on ProcessWire core version 3.0.167

Twitter updates

  • ProcessWire 3.0.168 core updates — More
    26 October 2020
  • This week a 2nd new module for processing Stripe payments has been added to FormBuilder. Unlike our other Stripe Inputfield, this new one supports 3D Secure (SCA) payments. We’ll take a closer look at it in this post, plus a live demo— More
    16 October 2020
  • Quick weekly update covering this week's commits for the upcoming 3.0.167 ProcessWire core version— More
    18 September 2020

Latest news

  • ProcessWire Weekly #337
    In the 337th issue of ProcessWire Weekly we're going to introduce a couple of brand new third party modules, take a closer look at the latest core updates, and more. Read on! / 24 October 2020
  • Stripe Payment Processor for FormBuilder
    This week a second new module for processing Stripe payments has been added to FormBuilder. We’ll take a closer look at it in this blog post, plus we’ve got a demo of it here too.
    Blog / 16 October 2020
  • 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