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::createdVariation(Pageimage $image, array $data)
(nothing)Called after new image variation created (3.0.180+)
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::getFiles()
arrayGet all filenames associated with this image 
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()
PageImageVariations 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
 

Manipulation

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

Latest news

  • ProcessWire Weekly #543
    In the 543rd issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a couple of new third party modules — both authored by Bernhard Baumrock — and more. Read on!
    Weekly.pw / 5 October 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer