wp_getimagesize

函数
wp_getimagesize ( $filename, $image_info = null )
参数
  • (string) $filename The file path.
    Required:
  • (array) $image_info Optional. Extended image information (passed by reference).
    Required:
    Default: null
返回值
  • (array|false) Array of image information or false on failure.
定义位置
相关方法
wp_get_image_mimewp_create_image_subsizeswp_get_image_editor_wp_get_image_size_from_metaadd_image_size
引入
5.7.0
弃用
-

wp_getimagesize: 这个函数用来获取图片的大小。它接受图像文件的路径作为参数,并返回一个包含图像的宽度、高度和类型的数组。

允许PHP的getimagesize()在必要时可以被调试。

function wp_getimagesize( $filename, array &$image_info = null ) {
	// Don't silence errors when in debug mode, unless running unit tests.
	if ( defined( 'WP_DEBUG' ) && WP_DEBUG
		&& ! defined( 'WP_RUN_CORE_TESTS' )
	) {
		if ( 2 === func_num_args() ) {
			$info = getimagesize( $filename, $image_info );
		} else {
			$info = getimagesize( $filename );
		}
	} else {
		/*
		 * Silencing notice and warning is intentional.
		 *
		 * getimagesize() has a tendency to generate errors, such as
		 * "corrupt JPEG data: 7191 extraneous bytes before marker",
		 * even when it's able to provide image size information.
		 *
		 * See https://core.trac.wordpress.org/ticket/42480
		 */
		if ( 2 === func_num_args() ) {
			// phpcs:ignore WordPress.PHP.NoSilencedErrors
			$info = @getimagesize( $filename, $image_info );
		} else {
			// phpcs:ignore WordPress.PHP.NoSilencedErrors
			$info = @getimagesize( $filename );
		}
	}

	if ( false !== $info ) {
		return $info;
	}

	// For PHP versions that don't support WebP images,
	// extract the image size info from the file headers.
	if ( 'image/webp' === wp_get_image_mime( $filename ) ) {
		$webp_info = wp_get_webp_info( $filename );
		$width     = $webp_info['width'];
		$height    = $webp_info['height'];

		// Mimic the native return format.
		if ( $width && $height ) {
			return array(
				$width,
				$height,
				IMAGETYPE_WEBP,
				sprintf(
					'width="%d" height="%d"',
					$width,
					$height
				),
				'mime' => 'image/webp',
			);
		}
	}

	// The image could not be parsed.
	return false;
}

常见问题

FAQs
查看更多 >