You are here

public function Image::save in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image::save()

Closes the image and saves the changes to a file.

Parameters

string|null $destination: (optional) Destination path where the image should be saved. If it is empty the original image file will be overwritten.

Return value

bool TRUE on success, FALSE on failure.

Overrides ImageInterface::save

See also

\Drupal\Core\ImageToolkit\ImageToolkitInterface::save()

File

core/lib/Drupal/Core/Image/Image.php, line 123
Contains \Drupal\Core\Image\Image.

Class

Image
Defines an image object to represent an image file.

Namespace

Drupal\Core\Image

Code

public function save($destination = NULL) {

  // Return immediately if the image is not valid.
  if (!$this
    ->isValid()) {
    return FALSE;
  }
  $destination = $destination ?: $this
    ->getSource();
  if ($return = $this
    ->getToolkit()
    ->save($destination)) {

    // Clear the cached file size and refresh the image information.
    clearstatcache(TRUE, $destination);
    $this->fileSize = filesize($destination);
    $this->source = $destination;

    // @todo Use File utility when https://www.drupal.org/node/2050759 is in.
    if ($this
      ->chmod($destination)) {
      return $return;
    }
  }
  return FALSE;
}