...

View Full Version : formating filesize in bytes => mbytes



arne
12-28-2005, 07:25 PM
Hi, me again with another problem i have this code (working fine AT LAST thanx to this forum :thumbsup: ) BUT i want to format the bytes into megabytes, can somebody give me the exact codes (elseway i'll screw it up again:confused: ).

<?

function getUsedMemory($login)
{
// HAAL ALLE LINKS VAN EEN BEPAALDE PERSOON EN BEKIJK GROOTTE
$sql = 'SELECT bestand FROM uploads WHERE lid ="'.$login.'"';
$resultSet = mysql_query($sql) or die(mysql_error());
$memory = 0;
if(mysql_num_rows($resultSet) != 0)
{
while($row = mysql_fetch_row($resultSet))
{
// row[0] is de url naar een bestand dat geupload is door gebruiker
$memory += filesize($row[0]);
}
}
return $memory;
}


// haal totaal van alle geuploade afbeeldingen
$totalSize = getUsedMemory("$login");
// maximum is 3 MB
$maxSize = 3<<20;
// als het groter is dan maximum
if($totalSize >= $maxSize)
{
echo "Je hebt het maximum van 3MB overschreden. Je moet foto's verwijderen voor je er nieuwe kan uploaden!";
}
else
{
echo 'Je hebt ',$maxSize-$totalSize,' byte(s) over die je nog kan gebruiken voor het uploaden van fotos.';
}

?>
SO, $maxsize-$totalsize should be XXXX megabyte (or x,xx megabyte) please help thanx !

devinemke
12-28-2005, 07:47 PM
a simple fucntion for converting bytes to B,KB,MB,GB:


function format_size($bytes)
{
$size_array = array(1 => 'B', 1024 => 'KB', 1048576 => 'MB', 1073741824 => 'GB');
foreach ($size_array as $key => $value)
{
if ($bytes >= $key)
{
$formatted = number_format(round($bytes / $key, 2) , 2) . ' ' . $value;
}
}
return $formatted;
}

arne
12-28-2005, 09:18 PM
<?

function getUsedMemory($login)
{
// HAAL ALLE LINKS VAN EEN BEPAALDE PERSOON EN BEKIJK GROOTTE
$sql = 'SELECT bestand FROM uploads WHERE lid ="'.$login.'"';
$resultSet = mysql_query($sql) or die(mysql_error());
$memory = 0;
if(mysql_num_rows($resultSet) != 0)
{
while($row = mysql_fetch_row($resultSet))
{
// row[0] is de url naar een bestand dat geupload is door gebruiker
$memory += filesize($row[0]);
}
}
return $memory;
}
function format_size($totalsize)
{
$size_array = array(1 => 'B', 1024 => 'KB', 1048576 => 'MB', 1073741824 => 'GB');
foreach ($size_array as $key => $value)
{
if ($bytes >= $key)
{
$formatted = number_format(round($bytes / $key, 2) , 2) . ' ' . $value;
}
}
return $formatted;
}



// haal totaal van alle geuploade afbeeldingen
$totalSize = getUsedMemory("$login");
$totalSize = format_size("$totalSize");
// maximum is 3 MB
$maxSize = 3<<20;
// als het groter is dan maximum
if($totalSize >= $maxSize)
{
echo "Je hebt het maximum van 3MB overschreden. Je moet foto's verwijderen voor je er nieuwe kan uploaden!";
}
else
{
echo 'Je hebt ',$maxSize-$totalSize,' byte(s) over die je nog kan gebruiken voor het uploaden van fotos.';
}

?>
Like this? (sorry i'm a total noob)

arne
12-29-2005, 01:25 PM
can anyone insert the function file_size into the original script? Cause i'm not good at working with functions. Please? THNX !

arne
12-31-2005, 02:56 PM
please

Element
01-01-2006, 03:02 AM
please
yes, bro, I beleive you got it. Congratulations.

arne
01-01-2006, 08:34 PM
i don't think so, it's still XXXX bytes

thesavior
01-01-2006, 08:43 PM
well, its probobly because the number is changing, but your not changing the text that goes with the number.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum