Allgemein Kostenlose Downloads PHP Snippets

[PHP][SNIPPET] Dateigrößen konvertieren

Moin,
heute habe ich für euch eine Funktion, welche zur Größenkonvertierung dient.

Die Funktion

<?php
	/**
	 * Konvertiert eine Einheit in eine andere Einheit
	 * $from z.B. 50mb, b, kb, mb, gb, tb, pb, eb, zb, yb
	 * $to 				b, kb, mb, gb, tb, pb, eb, zb, yb
	 */
	function AnythingTo($from, $to)
	{
		// Lese die Starteinheit aus
		$starteinheit = preg_replace("/[^kmgtpezyb]/", "", strtolower($from));
		$bytes = preg_replace("/[^0-9]/", "", $from);
 
		// Rechne Starteinheit auf Bytes
		switch ($starteinheit) {
			case 'kb':
				$bytes = $bytes * pow(1024, 1);
				break;
			case 'mb':
				$bytes = $bytes * pow(1024, 2);
				break;
			case 'gb':
				$bytes = $bytes * pow(1024, 3);
				break;
			case 'tb':
				$bytes = $bytes * pow(1024, 4);
				break;
			case 'pb':
				$bytes = $bytes * pow(1024, 5);
				break;
			case 'eb':
				$bytes = $bytes * pow(1024, 6);
				break;
			case 'zb':
				$bytes = $bytes * pow(1024, 7);
				break;
			case 'yb':
				$bytes = $bytes * pow(1024, 8);
				break;			
			default:
				$bytes = $bytes;
				break;
		}
 
		switch ($to) {
			case 'b':
				return ($bytes); 		# Zu Byte
				break;
			case 'kb':
				return ($bytes / pow(1024, 1)); # Zu KiloByte
				break;
			case 'mb':
				return ($bytes / pow(1024, 2)); # Zu MegaByte
				break;
			case 'gb':
				return ($bytes / pow(1024, 3)); # Zu GigaByte
				break;
			case 'tb':
				return ($bytes / pow(1024, 4)); # Zu TerraByte
				break;
			case 'pb':
				return ($bytes / pow(1024, 5)); # Zu PetaByte
				break;
			case 'eb':
				return ($bytes / pow(1024, 6)); # Zu ExaByte
				break;
			case 'zb':
				return ($bytes / pow(1024, 7)); # Zu ZettaByte
				break;
			case 'yb':
				return ($bytes / pow(1024, 8)); # Zu YottaByte
				break;			
			default:
				return ($bytes / pow(1024, 1)); # Standardmäßig zu KiloByte
				break;
		}
	}
?>

Anwendungsbeispiel

<?php
	$gb = AnythingTo("512mb", "gb");
	echo "512mb sind ".$gb."gb";
?>

Ausgabe
512mb sind 0.5gb

Download
SizeConverter.Developer-Heaven.de

Kritik/Bewertung sowie Anregungen wie immer erwünscht 🙂


341x gelesen

Print Friendly, PDF & Email

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.