NOF-Forum | Referenzen | Kontakt | Impressum | Sitemap
Kopiert Euch zunächst das Skript von Webbausteine.de.
Ich habe hier eine extra Seite mit der Master-Rahmen Einstellung “ZeroMargins” für dieses Skript erstellt, die ich auf die Dateierweiterung .php gestellt habe, damit das PHP-Skript überhaupt verarbeitet werden kann.
> Seite markieren > Bearbeiten > Benutzerdefinierte Namen > bei “Dateierweiterung” > .php wählen
Zieht Euch ein Textfeld auf und kopiert den Teil vom Skript von <?php bis ?> in die HTML der Text-Eigenschaften in den HTML-Code Editor.
> Textfeld doppelklicken (Cursor blinkt) > Fenster “Text-Eigenschaften” > mittlere Button oben “Textfeld” > Button “HTML”
Ich habe meine Seite mit dem Skript in einem Popup-Fenster verlinkt und noch diesen Preloader eingebaut.
Nun habe ich mir ein Verzeichnis “download” mit dem FTP-Programm im Stammverzeichnis meines Servers erstellt, das ich im Skript angebe und in das ich alle Dateien, die in dem ZIP-Archiv enthalten sein sollen, kopiert habe. Achtet auf die korrekte relative Pfadangabe zu diesem Verzeichnis. Weiterhin habe ich meiner ZIP-Datei einen Namen meiner Wahl gegeben. Unten das von mir angepasste Skript.
<?php
/*
* Zip-Archiv erstellen und Datei herunterladen
* zip_archiv.php (utf-8) - 07.07.2015
* - Webbausteine.de
*/
// Beachten Sie, das hiermit keine Verzeichnisse gelesen
// werden können die ihrerseits Verzeichnisse enthalten!
$verzeichnis = "../download/";
$zip_name = "Beispiel-ZIP-Tommy.zip";
// Verzeichnis auslesen
$dateien = array_slice(scanDir($verzeichnis), 2);
// Neue Instanz der ZipArchive Klasse erzeugen
$zip = new ZipArchive;
if (!file_exists($zip_name)) {
// Zip-Archiv erstellen
$status = $zip->open($zip_name, ZipArchive::CREATE);
}
else {
// Zip-Archiv überschreiben
$status = $zip->open($zip_name, ZipArchive::OVERWRITE);
}
if ($status) {
// Dateien ins Zip-Archiv einfügen
foreach ($dateien as $datei) {
$zip->addFile($verzeichnis . $datei, $datei);
}
// Zip-Archiv schließen
$zip->close();
if (file_exists($zip_name)) {
// Dateigröße ermitteln
$info = stat($zip_name);
echo '<center><p><a href="' . $zip_name . '">' . $zip_name . '</a> - ' .
number_format(round($info["size"] / 1024 ,1), 2, ",", ".") .' KB</p></center>';
}
}
?>
Viel Spaß!