Rabu, 13 April 2011

Konversi File Size dalam php

melakukan konversi ukuran file dalam PHP adalah kasus yang sering saya dapatkan...
nah berikut ini akan saya berikan script untuk melakukan konversi file size ke dalam satuan..

  • Byte (B)
  • Kilobyte (KB)
  • Megabyte (MB)
  • Gigabyte (GB)
  • Terabyte (TB)
  • Petabyte (PB)
  • Exabyte (EB)
  • Zettabyte (ZB)
  • Yottabyte (YB)
Nah berikut ini adalah script function yang akan kita gunakan :

function berikut juga dapat kita gunakan untuk membatasi angka desimal...
<?php
  function byteFormat($bytes, $unit = "", $decimals = 2) {
 $units = array('B' => 0, 'KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4, 
   'PB' => 5, 'EB' => 6, 'ZB' => 7, 'YB' => 8);
  $value = 0;
 if ($bytes > 0) {
  if (!array_key_exists($unit, $units)) {
   $pow = floor(log($bytes)/log(1024));
   $unit = array_search($pow, $units);
  }
  $value = ($bytes/pow(1024,floor($units[$unit])));
 }
 if (!is_numeric($decimals) || $decimals < 0) {
  $decimals = 2;
 }
 return sprintf('%.' . $decimals . 'f '.$unit, $value);
  }
 
ini adalah script contoh percobaan

echo byteFormat(4096, "B") ."\n";
echo byteFormat(8, "B", 2) . "\n";
echo byteFormat(1, "KB", 5) . "\n";
echo byteFormat(1073741824, "B", 0) . "\n";
echo byteFormat(1073741824, "KB", 0) . "\n";
echo byteFormat(1073741824, "MB") . "\n";
echo byteFormat(1073741824) . "\n";
echo byteFormat(1073741824, "TB", 10) . "\n";
echo byteFormat(1099511627776, "PB", 6) . "\n";

hasilnya adalah
4096.00 B
8.00 B
0.00098 KB
1073741824 B
1048576 KB
1024.00 MB
1.00 GB
0.0009765625 TB
0.000977 PB

Tidak ada komentar:

Posting Komentar

Artikel Populer