File indexing completed on 2025-02-02 05:49:18
0001 <?php 0002 /** 0003 * Zend Framework 0004 * 0005 * LICENSE 0006 * 0007 * This source file is subject to the new BSD license that is bundled 0008 * with this package in the file LICENSE.txt. 0009 * It is also available through the world-wide-web at this URL: 0010 * http://framework.zend.com/license/new-bsd 0011 * If you did not receive a copy of the license and are unable to 0012 * obtain it through the world-wide-web, please send an email 0013 * to license@zend.com so we can send you a copy immediately. 0014 * 0015 * @category Zend 0016 * @package Zend_Measure 0017 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0018 * @license http://framework.zend.com/license/new-bsd New BSD License 0019 * @version $Id$ 0020 */ 0021 0022 /** 0023 * Implement needed classes 0024 */ 0025 // require_once 'Zend/Measure/Abstract.php'; 0026 // require_once 'Zend/Locale.php'; 0027 0028 /** 0029 * Class for handling binary conversions 0030 * 0031 * @category Zend 0032 * @package Zend_Measure 0033 * @subpackage Zend_Measure_Binary 0034 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0035 * @license http://framework.zend.com/license/new-bsd New BSD License 0036 */ 0037 class Zend_Measure_Binary extends Zend_Measure_Abstract 0038 { 0039 const STANDARD = 'BYTE'; 0040 0041 const BIT = 'BIT'; 0042 const CRUMB = 'CRUMB'; 0043 const NIBBLE = 'NIBBLE'; 0044 const BYTE = 'BYTE'; 0045 const KILOBYTE = 'KILOBYTE'; 0046 const KIBIBYTE = 'KIBIBYTE'; 0047 const KILO_BINARY_BYTE = 'KILO_BINARY_BYTE'; 0048 const KILOBYTE_SI = 'KILOBYTE_SI'; 0049 const MEGABYTE = 'MEGABYTE'; 0050 const MEBIBYTE = 'MEBIBYTE'; 0051 const MEGA_BINARY_BYTE = 'MEGA_BINARY_BYTE'; 0052 const MEGABYTE_SI = 'MEGABYTE_SI'; 0053 const GIGABYTE = 'GIGABYTE'; 0054 const GIBIBYTE = 'GIBIBYTE'; 0055 const GIGA_BINARY_BYTE = 'GIGA_BINARY_BYTE'; 0056 const GIGABYTE_SI = 'GIGABYTE_SI'; 0057 const TERABYTE = 'TERABYTE'; 0058 const TEBIBYTE = 'TEBIBYTE'; 0059 const TERA_BINARY_BYTE = 'TERA_BINARY_BYTE'; 0060 const TERABYTE_SI = 'TERABYTE_SI'; 0061 const PETABYTE = 'PETABYTE'; 0062 const PEBIBYTE = 'PEBIBYTE'; 0063 const PETA_BINARY_BYTE = 'PETA_BINARY_BYTE'; 0064 const PETABYTE_SI = 'PETABYTE_SI'; 0065 const EXABYTE = 'EXABYTE'; 0066 const EXBIBYTE = 'EXBIBYTE'; 0067 const EXA_BINARY_BYTE = 'EXA_BINARY_BYTE'; 0068 const EXABYTE_SI = 'EXABYTE_SI'; 0069 const ZETTABYTE = 'ZETTABYTE'; 0070 const ZEBIBYTE = 'ZEBIBYTE'; 0071 const ZETTA_BINARY_BYTE = 'ZETTA_BINARY_BYTE'; 0072 const ZETTABYTE_SI = 'ZETTABYTE_SI'; 0073 const YOTTABYTE = 'YOTTABYTE'; 0074 const YOBIBYTE = 'YOBIBYTE'; 0075 const YOTTA_BINARY_BYTE = 'YOTTA_BINARY_BYTE'; 0076 const YOTTABYTE_SI = 'YOTTABYTE_SI'; 0077 0078 /** 0079 * Calculations for all binary units 0080 * 0081 * @var array 0082 */ 0083 protected $_units = array( 0084 'BIT' => array('0.125', 'b'), 0085 'CRUMB' => array('0.25', 'crumb'), 0086 'NIBBLE' => array('0.5', 'nibble'), 0087 'BYTE' => array('1', 'B'), 0088 'KILOBYTE' => array('1024', 'kB'), 0089 'KIBIBYTE' => array('1024', 'KiB'), 0090 'KILO_BINARY_BYTE' => array('1024', 'KiB'), 0091 'KILOBYTE_SI' => array('1000', 'kB.'), 0092 'MEGABYTE' => array('1048576', 'MB'), 0093 'MEBIBYTE' => array('1048576', 'MiB'), 0094 'MEGA_BINARY_BYTE' => array('1048576', 'MiB'), 0095 'MEGABYTE_SI' => array('1000000', 'MB.'), 0096 'GIGABYTE' => array('1073741824', 'GB'), 0097 'GIBIBYTE' => array('1073741824', 'GiB'), 0098 'GIGA_BINARY_BYTE' => array('1073741824', 'GiB'), 0099 'GIGABYTE_SI' => array('1000000000', 'GB.'), 0100 'TERABYTE' => array('1099511627776', 'TB'), 0101 'TEBIBYTE' => array('1099511627776', 'TiB'), 0102 'TERA_BINARY_BYTE' => array('1099511627776', 'TiB'), 0103 'TERABYTE_SI' => array('1000000000000', 'TB.'), 0104 'PETABYTE' => array('1125899906842624', 'PB'), 0105 'PEBIBYTE' => array('1125899906842624', 'PiB'), 0106 'PETA_BINARY_BYTE' => array('1125899906842624', 'PiB'), 0107 'PETABYTE_SI' => array('1000000000000000', 'PB.'), 0108 'EXABYTE' => array('1152921504606846976', 'EB'), 0109 'EXBIBYTE' => array('1152921504606846976', 'EiB'), 0110 'EXA_BINARY_BYTE' => array('1152921504606846976', 'EiB'), 0111 'EXABYTE_SI' => array('1000000000000000000', 'EB.'), 0112 'ZETTABYTE' => array('1180591620717411303424', 'ZB'), 0113 'ZEBIBYTE' => array('1180591620717411303424', 'ZiB'), 0114 'ZETTA_BINARY_BYTE'=> array('1180591620717411303424', 'ZiB'), 0115 'ZETTABYTE_SI' => array('1000000000000000000000', 'ZB.'), 0116 'YOTTABYTE' => array('1208925819614629174706176', 'YB'), 0117 'YOBIBYTE' => array('1208925819614629174706176', 'YiB'), 0118 'YOTTA_BINARY_BYTE'=> array('1208925819614629174706176', 'YiB'), 0119 'YOTTABYTE_SI' => array('1000000000000000000000000', 'YB.'), 0120 'STANDARD' => 'BYTE' 0121 ); 0122 }