wp_save_image_file( string $filename, WP_Image_Editor $image, string $mime_type, int $post_id ): array|WP_Error|bool
Saves image to file.
Parameters
-
$filename
string Required -
Name of the file to be saved.
-
$image
WP_Image_Editor Required -
The image editor instance.
-
$mime_type
string Required -
The mime type of the image.
-
$post_id
int Required -
Attachment post ID.
Return
array|WP_Error|bool Array on success or WP_Error if the file failed to save.
When called with a deprecated value for the $image
parameter, i.e. a non-WP_Image_Editor
image resource or GdImage
instance, the function will return true on success, false on failure.
path
stringPath to the image file.file
stringName of the image file.width
intImage width.height
intImage height.mime-type
stringThe mime type of the image.filesize
intFile size of the image.
Source
File: wp-admin/includes/image-edit.php
.
View all references
function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
if ( $image instanceof WP_Image_Editor ) {
/** This filter is documented in wp-admin/includes/image-edit.php */
$image = apply_filters( 'image_editor_save_pre', $image, $post_id );
/**
* Filters whether to skip saving the image file.
*
* Returning a non-null value will short-circuit the save method,
* returning that value instead.
*
* @since 3.5.0
*
* @param bool|null $override Value to return instead of saving. Default null.
* @param string $filename Name of the file to be saved.
* @param WP_Image_Editor $image The image editor instance.
* @param string $mime_type The mime type of the image.
* @param int $post_id Attachment post ID.
*/
$saved = apply_filters( 'wp_save_image_editor_file', null, $filename, $image, $mime_type, $post_id );
if ( null !== $saved ) {
return $saved;
}
return $image->save( $filename, $mime_type );
} else {
/* translators: 1: $image, 2: WP_Image_Editor */
_deprecated_argument( __FUNCTION__, '3.5.0', sprintf( __( '%1$s needs to be a %2$s object.' ), '$image', 'WP_Image_Editor' ) );
/** This filter is documented in wp-admin/includes/image-edit.php */
$image = apply_filters_deprecated( 'image_save_pre', array( $image, $post_id ), '3.5.0', 'image_editor_save_pre' );
/**
* Filters whether to skip saving the image file.
*
* Returning a non-null value will short-circuit the save method,
* returning that value instead.
*
* @since 2.9.0
* @deprecated 3.5.0 Use {@see 'wp_save_image_editor_file'} instead.
*
* @param bool|null $override Value to return instead of saving. Default null.
* @param string $filename Name of the file to be saved.
* @param resource|GdImage $image Image resource or GdImage instance.
* @param string $mime_type The mime type of the image.
* @param int $post_id Attachment post ID.
*/
$saved = apply_filters_deprecated(
'wp_save_image_file',
array( null, $filename, $image, $mime_type, $post_id ),
'3.5.0',
'wp_save_image_editor_file'
);
if ( null !== $saved ) {
return $saved;
}
switch ( $mime_type ) {
case 'image/jpeg':
/** This filter is documented in wp-includes/class-wp-image-editor.php */
return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) );
case 'image/png':
return imagepng( $image, $filename );
case 'image/gif':
return imagegif( $image, $filename );
case 'image/webp':
if ( function_exists( 'imagewebp' ) ) {
return imagewebp( $image, $filename );
}
return false;
default:
return false;
}
}
}
Hooks
-
apply_filters( 'image_editor_save_pre',
WP_Image_Editor $image ,int $attachment_id ) -
Filters the WP_Image_Editor instance for the image to be streamed to the browser.
-
apply_filters_deprecated( 'image_save_pre',
resource|GdImage $image ,int $attachment_id ) -
Filters the GD image resource to be streamed to the browser.
-
apply_filters( 'jpeg_quality',
int $quality ,string $context ) -
Filters the JPEG compression quality for backward-compatibility.
-
apply_filters( 'wp_save_image_editor_file',
bool|null $override ,string $filename ,WP_Image_Editor $image ,string $mime_type ,int $post_id ) -
Filters whether to skip saving the image file.
-
apply_filters_deprecated( 'wp_save_image_file',
bool|null $override ,string $filename ,resource|GdImage $image ,string $mime_type ,int $post_id ) -
Filters whether to skip saving the image file.
Changelog
Version | Description |
---|---|
6.0.0 | The $filesize value was added to the returned array. |
3.5.0 | The $image parameter expects a WP_Image_Editor instance. |
2.9.0 | Introduced. |