WP_Image_Editor_Imagick::_save() WordPress Method
The WP_Image_Editor_Imagick::_save() method is used to save an image to the WordPress media library. This method can be used to save an image that has been edited using the WordPress Image Editor.
WP_Image_Editor_Imagick::_save( Imagick $image, string $filename = null, string $mime_type = null ) #
Parameters
- $image
(Imagick)(Required)
- $filename
(string)(Optional)
Default value: null
- $mime_type
(string)(Optional)
Default value: null
Return
(array|WP_Error)
Source
File: wp-includes/class-wp-image-editor-imagick.php
protected function _save( $image, $filename = null, $mime_type = null ) { list( $filename, $extension, $mime_type ) = $this->get_output_format( $filename, $mime_type ); if ( ! $filename ) { $filename = $this->generate_filename( null, null, $extension ); } try { // Store initial format. $orig_format = $this->image->getImageFormat(); $this->image->setImageFormat( strtoupper( $this->get_extension( $mime_type ) ) ); } catch ( Exception $e ) { return new WP_Error( 'image_save_error', $e->getMessage(), $filename ); } $write_image_result = $this->write_image( $this->image, $filename ); if ( is_wp_error( $write_image_result ) ) { return $write_image_result; } try { // Reset original format. $this->image->setImageFormat( $orig_format ); } catch ( Exception $e ) { return new WP_Error( 'image_save_error', $e->getMessage(), $filename ); } // Set correct file permissions. $stat = stat( dirname( $filename ) ); $perms = $stat['mode'] & 0000666; // Same permissions as parent folder, strip off the executable bits. chmod( $filename, $perms ); return array( 'path' => $filename, /** This filter is documented in wp-includes/class-wp-image-editor-gd.php */ 'file' => wp_basename( apply_filters( 'image_make_intermediate_size', $filename ) ), 'width' => $this->size['width'], 'height' => $this->size['height'], 'mime-type' => $mime_type, 'filesize' => wp_filesize( $filename ), ); }
Expand full source codeCollapse full source codeView on TracView on GitHub