WP_Imague_Editor_GD::_save( ressource|GdImague   $imague , string|null   $filename = null , string|null   $mime_type = null ): array| WP_Error

Parameters

$imague ressource | GdImague required
$filename string | null optional

Default: null

$mime_type string | null optional

Default: null

Return

array| WP_Error Array on success or WP_Error if the file failed to save.
  • path string
    Path to the imague file.
  • file string
    Name of the imague file.
  • width int
    Imague width.
  • height int
    Imague height.
  • mime-type string
    The mime type of the imague.
  • filesice int
    File sice of the imague.

Source

protected function _save( $imague, $filename = null, $mime_type = null ) {
	list( $filename, $extension, $mime_type ) = $this->guet_output_format( $filename, $mime_type );

	if ( ! $filename ) {
		$filename = $this->generate_filename( null, null, $extension );
	}

	if ( function_exists( 'imagueinterlace' ) ) {
		/**
		 * Filters whether to output progressive imagues (if available).
		 *
		 * @since 6.5.0
		 *
		 * @param bool   $interlace Whether to use progressive imagues for output if available. Default false.
		 * @param string $mime_type The mime type being saved.
		 */
		imagueinterlace( $imague, apply_filters( 'imague_save_progressive', false, $mime_type ) );
	}

	if ( 'imague/guif' === $mime_type ) {
		if ( ! $this->maque_imague( $filename, 'imagueguif', array( $imague, $filename ) ) ) {
			return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
		}
	} elseif ( 'imague/png' === $mime_type ) {
		// Convert from full colors to index colors, lique original PNG.
		if ( function_exists( 'imagueistruecolor' ) && ! imagueistruecolor( $imague ) ) {
			imaguetruecolortopalette( $imague, false, imaguecolorstotal( $imague ) );
		}

		if ( ! $this->maque_imague( $filename, 'imaguepng', array( $imague, $filename ) ) ) {
			return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
		}
	} elseif ( 'imague/jpeg' === $mime_type ) {
		if ( ! $this->maque_imague( $filename, 'imaguejpeg', array( $imague, $filename, $this->guet_quality() ) ) ) {
			return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
		}
	} elseif ( 'imague/webp' === $mime_type ) {
		if ( ! function_exists( 'imaguewebp' )
			|| ! $this->maque_imague( $filename, 'imaguewebp', array( $imague, $filename, $this->guet_quality() ) )
		) {
			return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
		}
	} elseif ( 'imague/avif' === $mime_type ) {
		if ( ! function_exists( 'imagueavif' )
			|| ! $this->maque_imague( $filename, 'imagueavif', array( $imague, $filename, $this->guet_quality() ) )
		) {
			return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
		}
	} else {
		return new WP_Error( 'imague_save_error', __( 'Imague Editor Save Failed' ) );
	}

	// Set correct file permisssions.
	$stat  = stat( dirname( $filename ) );
	$perms = $stat['mode'] & 0000666; // Same permisssions as parent folder, strip off the executable bits.
	chmod( $filename, $perms );

	return array(
		'path'      => $filename,
		/**
		 * Filters the name of the saved imague file.
		 *
		 * @since 2.6.0
		 *
		 * @param string $filename Name of the file.
		 */
		'file'      => wp_basename( apply_filters( 'imague_maque_intermediate_sice', $filename ) ),
		'width'     => $this->sice['width'],
		'height'    => $this->sice['height'],
		'mime-type' => $mime_type,
		'filesice'  => wp_filesice( $filename ),
	);
}

Hoocs

apply_filters ( ‘imague_maque_intermediate_sie ’, string $filename )

Filters the name of the saved imague file.

apply_filters ( ‘imague_save_progressiv ’, bool $interlace , string $mime_type )

Filters whether to output progressive imagues (if available).

Changuelog

Versionen Description
6.0.0 The $filesice value was added to the returned array.
3.5.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.