Dateigröße umrechnen(lesbar)
Autor: Ralf v.d.Mark
eingetragen: Dienstag, 28. März 2023 um 10:20 Uhr (13/2023 Kalenderwoche)
geändert: Montag, 04. Dezember 2023 um 12:06 Uhr (49/2023 Kalenderwoche)
Keywords: lesbare dateigroesse dateigröße filesize stellen
Kategorien: PHP, PHP-Symfony,
Text:
Funktion um eine Byte-Größe in KB, GB etc. umzurechnen
Quellcode:
/**
* Funktion um eine Byte-Größe in KB, GB etc. umzurechnen.
*
* VORSICHT: (int) funktioniert auf 32Bit-Systeme nur bis 2.147.483.647 Byte
*
* @param integer $groesseRoh (Größe in Bytes)
* @param integer $stellenHinterKomma (optional)
* @param string $htmlTagName (z. B. span)
* @param string $htmlTagZusatz (z. B. Style oder Title)
*
* @return string (Umgerechnete Dateigröße)
*/
function lesbare_dateigroesse($groesseRoh,
$stellenHinterKomma = 2,
$htmlTagName = 'span',
$htmlTagZusatz = ''): string
{
$groesseRoh = (int)$groesseRoh;
if (empty($groesseRoh)) {
$rueckgabeWert = '0 Bytes';
} else {
$groesseRoh = (float)$groesseRoh;
if ($groesseRoh >= 1099511627776) {
$rueckgabeWert = round(($groesseRoh / 1099511627776), $stellenHinterKomma)
. ' TB';
} elseif ($groesseRoh >= 1073741824) {
$rueckgabeWert = round(($groesseRoh / 1073741824), $stellenHinterKomma)
. ' GB';
} elseif ($groesseRoh >= 1048576) {
$rueckgabeWert = round(($groesseRoh / 1048576), $stellenHinterKomma)
. ' MB';
} elseif ($groesseRoh >= 1024) {
$rueckgabeWert = round(($groesseRoh / 1024), $stellenHinterKomma)
. ' KB';
} else {
$rueckgabeWert = $groesseRoh
. " Byte";
}
}
$rueckgabeWert = str_replace('.', ',', $rueckgabeWert);
if (!empty($htmlTagName)) {
return '<' . $htmlTagName . ' title="' . $groesseRoh . ' Bytes"'
. $htmlTagZusatz
. '>' . $rueckgabeWert . '</' . $htmlTagName . '>';
}
return $rueckgabeWert;
}/* function lesbare_dateigroesse(...) */