22. Mai 2017

PHP:
ZIP-Archive extrahieren

Trotz immer schneller werdenden Internet-Verbindungen dauert das Hochladen von Verzeichnissen mit tausenden von Dateien und Unterverzeichnissen, wie das zum Beispiel bei kompletten WordPress-Installationen oder komplexen Themes der Fall ist, immer noch seine Zeit.

Deutlich schneller ist es, statt dessen ein ZIP-Archiv hochzuladen. Falls man auf dem Server keine SSH-Zugang hat, lässt sich die ZIP-Datei mit folgendem kleinen PHP-Skript zu extrahieren.

<?php

// Dateiname bestimmen (muss hier im selben Verzeichnis liegen)
$file="meine-datei.zip";

// Absoluten Pfad bestimmen
$path=pathinfo(realpath($file), PATHINFO_DIRNAME);

// ZIP-Datei öffnen und prüfen
$zip=new ZipArchive;
$res=$zip->open($file);
if ($res===TRUE)
{
	// ZIP-Datei extrahieren
	$zip->extractTo($path);
	$zip->close();

	// Erfolgsmeldung
	echo("<h2>Erfolg :-)</h2>");
	echo("<p><code><strong>$file</strong></code> erforgreich in das Verzeichnis <code><strong>$path</strong></code> entpackt.</p>");
}
// Fehlermeldung
else
{
	echo("<h2>Fehler :-(</h2>");
	echo("<p><code><strong>$file</strong></code> konnte nicht geöffnet werden.</p>");
}