WP_Image_Editor_Imagick::write_image() – Writes an image to a file or stream.

You appear to be a bot. Output may be restricted

Description

Writes an image to a file or stream.

Usage

$true|WP_Error = WP_Image_Editor_Imagick::write_image( $image, $filename );

Parameters

$image
( Imagick ) required
$filename
( string ) required – The destination filename or stream URL.

Returns

true|WP_Error

Source

File name: wordpress/wp-includes/class-wp-image-editor-imagick.php
Lines:

1 to 40 of 40
  private function write_image( $image, $filename ) {
    if ( wp_is_stream( $filename ) ) {
      /*
			 * Due to reports of issues with streams with `Imagick::writeImageFile()` and `Imagick::writeImage()`, copies the blob instead.
			 * Checks for exact type due to: https://www.php.net/manual/en/function.file-put-contents.php
			 */
      if ( file_put_contents( $filename, $image->getImageBlob() ) === false ) {
        return new WP_Error(
          'image_save_error',
          sprintf(
            /* translators: %s: PHP function name. */
            __( '%s failed while writing image to stream.' ),
            '<code>file_put_contents()</code>'
          ),
          $filename
        );
      } else {
        return true;
      }
    } else {
      $dirname = dirname( $filename );

      if ( ! wp_mkdir_p( $dirname ) ) {
        return new WP_Error(
          'image_save_error',
          sprintf(
            /* translators: %s: Directory path. */
            __( 'Unable to create directory %s. Is its parent directory writable by the server?' ),
            esc_html( $dirname )
          )
        );
      }

      try {
        return $image->writeImage( $filename );
      } catch ( Exception $e ) {
        return new WP_Error( 'image_save_error', $e->getMessage(), $filename );
      }
    }
  }
 

 View on GitHub View on Trac