diff options
Diffstat (limited to 'system/helpers')
-rw-r--r-- | system/helpers/number_helper.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/system/helpers/number_helper.php b/system/helpers/number_helper.php new file mode 100644 index 000000000..f158b1cdc --- /dev/null +++ b/system/helpers/number_helper.php @@ -0,0 +1,68 @@ +<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); +/** + * CodeIgniter + * + * An open source application development framework for PHP 4.3.2 or newer + * + * @package CodeIgniter + * @author ExpressionEngine Dev Team + * @copyright Copyright (c) 2006, EllisLab, Inc. + * @license http://codeigniter.com/user_guide/license.html + * @link http://codeigniter.com + * @since Version 1.0 + * @filesource + */ + +// ------------------------------------------------------------------------ + +/** + * CodeIgniter Number Helpers + * + * @package CodeIgniter + * @subpackage Helpers + * @category Helpers + * @author ExpressionEngine Dev Team + * @link http://codeigniter.com/user_guide/helpers/number_helper.html + */ + +// ------------------------------------------------------------------------ + +/** + * Formats a numbers as bytes, based on size, and adds the appropriate suffix + * + * @access public + * @param mixed // will be cast as int + * @return string + */ +if ( ! function_exists('byte_format')) +{ + function byte_format($num) + { + $num = (int) $num; + + if ($num >= 1000000000) + { + $num = round($num/107374182)/10; + $unit = 'GB'; + } + elseif ($num >= 1000000) + { + $num = round($num/104857)/10; + $unit = 'MB'; + } + elseif ($num >= 1000) + { + $num = round($num/102)/10; + $unit = 'KB'; + } + else + { + $unit = 'Bytes'; + } + + return number_format($num, 1).' '.$unit; + } +} + +/* End of file number_helper.php */ +/* Location: ./system/helpers/number_helper.php */
\ No newline at end of file |