size_format

函数
size_format ( $bytes, $decimals = 0 )
参数
  • (int|string) $bytes Number of bytes. Note max integer size for integers.
    Required:
  • (int) $decimals Optional. Precision of number of decimal places. Default 0.
    Required:
返回值
  • (string|false) Number string on success, false on failure.
定义位置
相关方法
set_post_formattimer_floatget_post_formathas_post_formatwp_ajax_time_format
引入
2.3.0
弃用
-

size_format: 这个函数用来将一个字节数转换成人类可读的格式。它需要一个参数–$bytes–这是你要转换的字节数: 这个函数将返回一个字符串,其大小被格式化为人类可读的格式(例如,”10.5 MB”)。

将一个字节数转换为该字节所适合的最大单位。

读取1KB比1024字节更容易,读取1MB比1048576字节更容易。将字节数转换为人类可读的数字,取该字节将进入的单位的数字。支持YB值。

请注意,PHP中的整数被限制在32位,除非是在64位架构上,那么它们有64位大小。如果你需要放置更大的尺寸,而PHP的整数类型可以容纳,那么使用字符串。它将被转换为双数,而双数应该总是有64位的长度。

从技术上讲,1024次方的正确单位名称是KiB、MiB等。

function size_format( $bytes, $decimals = 0 ) {
	$quant = array(
		/* translators: Unit symbol for yottabyte. */
		_x( 'YB', 'unit symbol' ) => YB_IN_BYTES,
		/* translators: Unit symbol for zettabyte. */
		_x( 'ZB', 'unit symbol' ) => ZB_IN_BYTES,
		/* translators: Unit symbol for exabyte. */
		_x( 'EB', 'unit symbol' ) => EB_IN_BYTES,
		/* translators: Unit symbol for petabyte. */
		_x( 'PB', 'unit symbol' ) => PB_IN_BYTES,
		/* translators: Unit symbol for terabyte. */
		_x( 'TB', 'unit symbol' ) => TB_IN_BYTES,
		/* translators: Unit symbol for gigabyte. */
		_x( 'GB', 'unit symbol' ) => GB_IN_BYTES,
		/* translators: Unit symbol for megabyte. */
		_x( 'MB', 'unit symbol' ) => MB_IN_BYTES,
		/* translators: Unit symbol for kilobyte. */
		_x( 'KB', 'unit symbol' ) => KB_IN_BYTES,
		/* translators: Unit symbol for byte. */
		_x( 'B', 'unit symbol' )  => 1,
	);

	if ( 0 === $bytes ) {
		/* translators: Unit symbol for byte. */
		return number_format_i18n( 0, $decimals ) . ' ' . _x( 'B', 'unit symbol' );
	}

	foreach ( $quant as $unit => $mag ) {
		if ( (float) $bytes >= $mag ) {
			return number_format_i18n( $bytes / $mag, $decimals ) . ' ' . $unit;
		}
	}

	return false;
}

常见问题

FAQs
查看更多 >