public function test()
 {
     $arr = array(array('megabyte', 'byte', 0.5, 524288), array('megabit', 'megabyte', 100, 12.5), array('GB', 'MiB', 1, 1024), array('zb', 'tb', 1, 1073741824), array('zettabyte', 'exabyte', 1, 1024), array('zettabit', 'exabit', 1, 1024));
     foreach ($arr as $test) {
         $res = ConvertDatasize::convert($test[0], $test[1], $test[2]);
         $this->assertEquals($res, $test[3]);
     }
 }
Esempio n. 2
0
 /**
  * 1024M, 4G, 256K etc into bytes
  */
 public static function toBytes($s)
 {
     if (is_numeric($s)) {
         throw new \Exception('unexpected value: ' . $s);
     }
     //HACK: find first non-digit/non-separator. replace with a regexp
     for ($i = 0; $i < strlen($s); $i++) {
         $c = substr($s, $i, 1);
         if (!is_numeric($c) && $c != '.' && $c != ',') {
             break;
         }
     }
     $suff = substr($s, $i);
     $val = substr($s, 0, $i);
     return ConvertDatasize::convert($suff, 'byte', $val);
 }
Esempio n. 3
0
echo 'Used memory: <b>' . round(ConvertDatasize::convert('byte', 'MiB', $used_mem), 1) . ' MiB</b>';
$memory_limit = ini_get('memory_limit');
if ($memory_limit != '-1') {
    // "-1" means "no memory limit"
    $limit = ConvertDatasize::ToBytes($memory_limit);
    $pct = round($used_mem / $limit * 100, 1);
    $limit_s = round(ConvertDatasize::convert('byte', 'MiB', $limit), 1);
    echo ' (<b>' . $pct . '%</b>' . ' of <b>' . $limit_s . ' MiB</b>)<br/>';
} else {
    echo ' (no limit)<br/>';
}
echo '<br/>';
if (extension_loaded('apc')) {
    $info = apc_cache_info('', true);
    //d($info);
    echo 'APC: using <b>' . round(ConvertDatasize::convert('byte', 'MiB', $info['mem_size']), 2) . ' MiB</b><br/>';
    echo 'APC: <b>' . $info['num_hits'] . '</b> hits, <b>' . $info['num_misses'] . '</b> misses<br/>';
    echo 'APC: <b>' . $info['num_entries'] . '</b> entries (max <b>' . $info['num_slots'] . '</b>)<br/>';
    echo '<br/>';
}
$client = HttpUserAgent::getBrowser();
echo 'Client: <b>' . $_SERVER['REMOTE_ADDR'] . '</b>' . ' using ' . ' <span title="' . $_SERVER['HTTP_USER_AGENT'] . '" style="font-weight:bold">' . $client->name . ' ' . $client->version . ' (' . $client->os . ', ' . $client->arch . ')</span><br/>';
echo '<br/>';
echo 'Webserver: <b>' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '</b><br/>';
echo 'Software: <b>' . $_SERVER['SERVER_SOFTWARE'] . '</b> with <b><span title="PHP_VERSION_ID = ' . PHP_VERSION_ID . '">PHP ' . phpversion() . '</span></b><br/>';
echo 'Webserver time: <b>' . date('Y-m-d H:i:s T') . '</b><br/>';
echo 'System uptime: <b>' . elapsed_seconds(uptime()) . '</b><br/>';
echo '</div>';
// closing $prof_id
echo ' | <span id="span_rendertime">9.99</span>s render';
echo ahref_js('', "return hide_el('" . $wrapper_id . "');", 'closebtn');
Esempio n. 4
0
/**
 * Debug function. Returns memory usage
 */
function dm()
{
    $used_mem = memory_get_peak_usage(false);
    $res = 'Memory: using ' . round(ConvertDatasize::convert('byte', 'MiB', $used_mem), 1) . ' MiB';
    $memory_limit = ini_get('memory_limit');
    if ($memory_limit != '-1') {
        // "-1" means "no memory limit"
        $limit = datasize_to_bytes($memory_limit);
        $pct = round($used_mem / $limit * 100, 1);
        $limit_s = round(ConvertDatasize::convert('byte', 'MiB', $limit), 1);
        $res .= ' (' . $pct . '% of ' . $limit_s . ' MiB)' . ln();
    } else {
        $res .= ' (no limit)' . ln();
    }
    if (extension_loaded('apc')) {
        $info = apc_cache_info('', true);
        $res .= 'APC: using ' . round(ConvertDatasize::convert('byte', 'MiB', $info['mem_size']), 2) . ' MiB' . ', ' . $info['num_hits'] . ' hits, ' . $info['num_misses'] . ' misses, ' . $info['num_entries'] . ' entries (max ' . $info['num_slots'] . ')' . ln();
    }
    return $res;
}