Pageimage class

Represents an image item attached to a page, typically via an Image Fieldtype.

Pageimage objects are usually contained by a Pageimages object, which is a type of Pagefiles and WireArray. In addition to the methods and properties below, you'll also want to look at Pagefile which this class inherits several important methods and properties from.

// Example of outputting a thumbnail gallery of Pageimage objects
foreach($page->images as $image) {
  // $image and $thumb are both Pageimage objects
  $thumb = $image->size(200, 200);
  echo "<a href='$image->url'>";
  echo "<img src='$thumb->url' alt='$image->description' />";
  echo "</a>";
}

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Pageimage class also inherits all the methods and properties of: Pagefile, WireData and Wire.

Show class?             Show args?        

Common

NameReturnSummary 
Pageimage::__construct($pagefiles, string $filename)
(nothing)Construct a new Pageimage 
Pageimage::alt string Convenient alias for the 'description' property, unless overridden (since 3.0.125). 
Pageimage::basename string Returns the filename without the path. 
Pageimage::debugInfo PageimageDebugInfo 
Pageimage::description string Value of the file’s description field (string), if enabled. Note you can also set this property directly. 
Pageimage::ext string File’s extension (i.e. last 3 or so characters) 
Pageimage::filename()
stringReturns the full disk path to the image file
Can also be used as property: Pageimage::filename
 
Pageimage::filesize int File size (number of bytes). 
Pageimage::filesizeStr string File size as a formatted string, i.e. “123 Kb”. 
Pageimage::focusStr string Readable string containing focus information. 
Pageimage::getDebugInfo()
array object stringVerbose debug info (via 
Pageimage::hasFocus bool Does this image have custom focus settings? (i.e. $focus['default'] == true) 
Pageimage::hash string Get a unique hash (for the page) representing this Pagefile. 
Pageimage::height()
int PageimageReturn the height of this image OR return an image sized with a given height (and proportional width).
Can also be used as property: Pageimage::height
 
Pageimage::httpUrl string URL to the file on the server including scheme and hostname. 
Pageimage::name string Returns the filename without the path, same as the "basename" property. 
Pageimage::ratio()
floatGet ratio of width divided by height
Can also be used as property: Pageimage::ratio
 
Pageimage::render()
stringRender markup for this image (optionally using a provided markup template string and/or image size options)
Pageimage::set(string $key, mixed $value)
Pageimage WireDataSet property 
Pageimage::size($width)
PageimageReturn an image (Pageimage) sized/cropped to the specified dimensions. 
Pageimage::sizeName(string $name)
PageimageReturn image of size indicated by predefined setting 
Pageimage::src string Convenient alias for the 'url' property, unless overridden (since 3.0.125). 
Pageimage::suffixStr string String of file suffix(es) separated by comma. 
Pageimage::url()
stringReturn the web accessible URL to this image file
Can also be used as property: Pageimage::url
 
Pageimage::webp()
PagefileExtraGet WebP "extra" version of this Pageimage
Can also be used as property: Pageimage::webp
 
Pageimage::width()
int PageimageReturn the width of this image OR return an image sized with a given width (and proportional height).
Can also be used as property: Pageimage::width
 

Resize and crop

NameReturnSummary 
Pageimage::crop(int $x, int $y, int $width, int $height)
PageimageCreate a crop and return it as a new Pageimage.
Pageimage::error string Last image resizing error message, when applicable.  
Pageimage::height()
int PageimageReturn the height of this image OR return an image sized with a given height (and proportional width).
Can also be used as property: Pageimage::height
 
Pageimage::maxHeight(int $n)
PageimageReturn an image no larger than the given height. 
Pageimage::maxSize(int $width, int $height)
PageimageReturn an image no larger than the given width and height 
Pageimage::maxWidth(int $n)
PageimageReturn an image no larger than the given width. 
Pageimage::size($width)
PageimageReturn an image (Pageimage) sized/cropped to the specified dimensions. 
Pageimage::width()
int PageimageReturn the width of this image OR return an image sized with a given width (and proportional height).
Can also be used as property: Pageimage::width
 

Variations

A variation refers to an image that is based upon another (like a resized or cropped version for example).

NameReturnSummary 
Pageimage::getOriginal()
Pageimage nullIf this image is a variation, return the original, otherwise return null. 
Pageimage::getVariations()
Pageimages arrayGet all size variations of this image 
Pageimage::isVariation(string $basename)
bool string arrayGiven a file name (basename), return array of info if this is a variation for this instance’s file, or false if not.
Pageimage::original Pageimage Reference to original $image, if this is a resized version.  
Pageimage::rebuildVariations()
arrayRebuilds variations of this image
Pageimage::removeVariations()
this arrayDelete all the alternate sizes associated with this Pageimage 
Pageimage::setOriginal(Pageimage $image)
$thisIdentify this Pageimage as a variation, by setting the Pageimage it was resized from. 

Other

NameReturnSummary 
Pageimage::HTTPURL string Same as the cache-busting uppercase “URL” property, but includes scheme and hostname.  
Pageimage::URL string Same as $url property but with browser cache busting query string appended.  
Pageimage::field Field The Field object that this file is part of.  
Pageimage::focus()
array bool PageimageGet or set focus area for crops to use
Can also be used as property: Pageimage::focus
 
Pageimage::page Page The Page object that this file is part of.  
Pageimage::pagefiles Pagefiles The Pagefiles WireArray that contains this file.  
Pageimage::suffix()
array boolReturns array of suffixes for this file, or true/false if this file has the given suffix.
Can also be used as property: Pageimage::suffix
 

Tags

NameReturnSummary 
Pageimage::tags string Value of the file’s tags field (string), if enabled.  
Pageimage::tagsArray array Get file tags as an array.  

Date time

NameReturnSummary 
Pageimage::created int Unix timestamp of when file was created.  
Pageimage::createdStr string Readable date/time string of when Pagefile was created  
Pageimage::modified int Unix timestamp of when Pagefile (file, description or tags) was last modified.  
Pageimage::modifiedStr string Readable date/time string of when Pagefile was last modified.  
Pageimage::mtime int Unix timestamp of when file (only) was last modified.  
Pageimage::mtimeStr string Readable date/time string when file (only) was last modified.  

Additional methods and properties

In addition to the methods and properties above, Pageimage also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.163

Twitter updates

  • Quick weekly update covering this week's commits for the upcoming 3.0.167 ProcessWire core version— More
    18 September 2020
  • This week ProcessWire version 3.0.166 is released on the dev branch. In this post we’ll cover all that’s new relative to the previous version, 3.0.165. Plus we’ll check out the latest new versions of ProCache and FormBuilder— More
    11 September 2020
  • Weekly update – 28 August 2020 – New secure files option defined per-template: More
    28 August 2020

Newest forum posts

Latest news

  • ProcessWire Weekly #332
    In the 332nd issue of ProcessWire Weekly we'll cover the latest core updates, introduce some new and updated ProcessWire resources, and more. Read on!
    Weekly.pw / 19 September 2020
  • ProcessWire 3.0.166 core updates and more
    This week ProcessWire version 3.0.166 is released on the dev branch. In this post we’ll cover all that’s new relative to the previous version, 3.0.165. Plus we’ll check out the latest new versions of ProCache and FormBuilder.
    Blog / 11 September 2020
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer