49 Zeilen
		
	
	
	
		
			1,4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 Zeilen
		
	
	
	
		
			1,4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file is part of MySQLDumper released under the GNU/GPL 2 license
 | |
|  * http://www.mysqldumper.net
 | |
|  *
 | |
|  * @package         MySQLDumper
 | |
|  * @subpackage      View_Helpers
 | |
|  * @version         SVN: $Rev$
 | |
|  * @author          $Author$
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Human readable byte output
 | |
|  *
 | |
|  * @package         MySQLDumper
 | |
|  * @subpackage      View_Helpers
 | |
|  */
 | |
| class Msd_View_Helper_ByteOutput extends Zend_View_Helper_Abstract
 | |
| {
 | |
|     /**
 | |
|      * Humanize byte output
 | |
|      *
 | |
|      * @param int     $bytes
 | |
|      * @param int     $precision
 | |
|      * @param boolean $useHTML
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function byteOutput($bytes, $precision = 2, $useHtml = true)
 | |
|     {
 | |
|         $unitsLong = array('Bytes', 'KiloBytes', 'MegaBytes', 'GigaBytes',
 | |
|             'TeraBytes', 'PetaBytes', 'ExaBytes', 'YottaBytes');
 | |
|         $unitsShort = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB');
 | |
|         for ($level = 0; $bytes >= 1024; $level++) {
 | |
|             $bytes /= 1024;
 | |
|         }
 | |
|         if (!is_numeric($bytes) || !isset($unitsShort[$level])) {
 | |
|             return $bytes;
 | |
|         }
 | |
|         $pattern = '<span class="explain tooltip" title="%s">%s</span>';
 | |
|         $suffix = sprintf($pattern, $unitsLong[$level], $unitsShort[$level]);
 | |
|         if (!$useHtml) {
 | |
|             $suffix = strip_tags($suffix);
 | |
|         }
 | |
|         $ret = sprintf("%01." . $precision . "f", round($bytes, $precision));
 | |
|         return  trim($ret . ' ' . $suffix);
 | |
|     }
 | |
| 
 | |
| }
 |