Allgemein PHP Snippets Tutorials

[PHP][SNIPPET] Lange Texte komprimiert wegspeichern

Hallo,

in PHP besteht die Möglichkeit lange Texte zu komprimieren/dekomprimieren. Dazu benutzt man die gZip komprimierung, damit man diese Daten auch in normalen Textfeldern in der Datenbank wegspeichern kann, kodiert man den Komprimiert mit Base64.

Funktionen

function compress($input)
{
	return base64_encode(gzencode($input));
}
function decompress($input)
{
	return gzdecode(base64_decode($input));
}

Aufruf

<?php
	$eingabe = "Das ist ein String der Komprimiert und wieder Dekomprimiert werden soll!";
 
	$eingabe = compress($eingabe);
	echo "Komprimiert: $eingabe<br>";
 
	$eingabe = decompress($eingabe);
	echo "Unkomprimiert: $eingabe";
?>

Ausgabe des Beispiels

Komprimiert: H4sIAAAAAAAAC03JsQ2AMAwEwFWeXdJRMgFSXuhF4kS2UdZHdLR35QwoEpThSJddqHTso09XFz3xWMUSPy68f7HolYYYrW0vjoejpkgAAAA=
Unkomprimiert: Das ist ein String der Komprimiert und wieder Dekomprimiert werden soll!

Anmerkung
Komprimieren ist gut, allerdings sollte man hier noch Anmerken das sich dies erst ab ~1k Bytes lohnt, da ansonsten, wie beim Beispiel, der Komprimierte String länger ist als der Unkomprimierte.

Gruß,
Julian


380x gelesen

Print Friendly, PDF & Email

Kommentar hinterlassen

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