76 行
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			76 行
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | ||
|  | /** | ||
|  |  * CodeIgniter | ||
|  |  * | ||
|  |  * An open source application development framework for PHP 5.1.6 or newer | ||
|  |  * | ||
|  |  * @package		CodeIgniter | ||
|  |  * @author		ExpressionEngine Dev Team | ||
|  |  * @copyright	Copyright (c) 2008 - 2011, 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, $precision = 1) | ||
|  | 	{ | ||
|  | 		$CI =& get_instance(); | ||
|  | 		$CI->lang->load('number'); | ||
|  | 
 | ||
|  | 		if ($num >= 1000000000000) | ||
|  | 		{ | ||
|  | 			$num = round($num / 1099511627776, $precision); | ||
|  | 			$unit = $CI->lang->line('terabyte_abbr'); | ||
|  | 		} | ||
|  | 		elseif ($num >= 1000000000) | ||
|  | 		{ | ||
|  | 			$num = round($num / 1073741824, $precision); | ||
|  | 			$unit = $CI->lang->line('gigabyte_abbr'); | ||
|  | 		} | ||
|  | 		elseif ($num >= 1000000) | ||
|  | 		{ | ||
|  | 			$num = round($num / 1048576, $precision); | ||
|  | 			$unit = $CI->lang->line('megabyte_abbr'); | ||
|  | 		} | ||
|  | 		elseif ($num >= 1000) | ||
|  | 		{ | ||
|  | 			$num = round($num / 1024, $precision); | ||
|  | 			$unit = $CI->lang->line('kilobyte_abbr'); | ||
|  | 		} | ||
|  | 		else | ||
|  | 		{ | ||
|  | 			$unit = $CI->lang->line('bytes'); | ||
|  | 			return number_format($num).' '.$unit; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return number_format($num, $precision).' '.$unit; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | /* End of file number_helper.php */ | ||
|  | /* Location: ./system/helpers/number_helper.php */ |