entpacken und packen von Verzeichnissen auf dem Webserver mit php

Forumsregeln
Die Beiträge in diesen Forum werden nicht bei den aktuellen Themen aufgelistet!
Antworten
Benutzeravatar

Themenersteller
Immothep
Administrator
Beiträge: 443
Registriert: 28. Nov 2009, 01:06
Wohnort: Landshut
Hat sich bedankt: 6 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

entpacken und packen von Verzeichnissen auf dem Webserver mit php

Ungelesener Beitrag von Immothep »

entpacken: "DATEINAME.zip" entsprechend ändern

Code: Alles auswählen

<?php
     $zip = new ZipArchive;
     $res = $zip->open('DATEINAME.zip');
     if ($res === TRUE) {
         $zip->extractTo('./');
         $zip->close();
         echo 'ok';
     } else {
         $file = "DATEINAME.zip";
         exec("unzip $file 2>&1", $out);
         print(implode("<br>", $out));
     }
?>
packen: "pfad-zum-Ordner" entsprechend ändern

Code: Alles auswählen

    <?php
    // die maximale Ausführzeit erhöhen
    ini_set("max_execution_time", 3000);

    // Get real path for our folder
    $rootPath = realpath('pfad-zum-Ordner');

    // Initialize archive object
    $zip = new ZipArchive();
    $zip->open('backup.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);

    // Create recursive directory iterator
    /** @var SplFileInfo[] $files */
    $files = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($rootPath),
        RecursiveIteratorIterator::LEAVES_ONLY
    );

    foreach ($files as $name => $file)
    {
        // Skip directories (they would be added automatically)
        if (!$file->isDir())
        {
            // Get real and relative path for current file
            $filePath = $file->getRealPath();
            $relativePath = substr($filePath, strlen($rootPath) + 1);

            // Add current file to archive
            $zip->addFile($filePath, $relativePath);
        }
    }

    // Zip archive will be created only after closing object
    $zip->close();
    echo "Archiv erfolgreich erstellt.";
    ?>
Posting © by Pogo. Alle Rechte vorbehalten. Kein verwenden und zitieren ohne Erlaubnis.

Bild




Mein PC Setup:

Betriebssystem: Windows 11 pro
CPU: AMD Ryzen 7 5800X3D
CPU Kühler: ARCTIC Liquid Freezer II 240 RGB
GPU: ASUS GeForce® RTX 2060 SUPER Dual Evo Advanced 8GB
Mainboard: MSI MPG X570 GAMING PLUS AMD X570 So.AM4 Dual Channel DDR4 ATX
RAM: 2x 16GB Crucial Ballistix schwarz DDR4-3600 DIMM CL16-18-18-38
SSD1: Samsung 980 PRO NVMe™ M.2 SSD - 1 TB
SSD2: Samsung 860 EVO SSD 500 GB SATA (Games)
SSD3: Samsung 850 EVO SSD 500 GB SATA (VMWare Datastore)
HDD1: WD Black WD5000LPLX 500GB SATA
CD/DVD Brenner: LG GH24NSB0 DVD 24x (DVD±RW)
Netzteil: be quiet! Straight Power 11 Platinum 550W
Sound: Soundblaster Play! 3 - USB
Headset: EPOS|Sennheiser Game One Gaming-Headset (mit offener Akustik) schwarz
Keyboard: Corsair K55 RGB
Mouse: Roccat Kone AIMO Gaming Maus (100 bis 16.000 Dpi), RGB AIMO LED Beleuchtung, 23 programmierbare Tasten, weiß (remastered)
Mauspad: Roccat Taito Control Gaming Mauspad (400mm x 320mm)
Monitor 1: Acer XF240H Gaming Monitor 24 Zoll FHD, 144Hz, höhenverstellbar, drehbar, G-Sync Compatible
Monitor 2: Benq G2110W 22 Zoll TFT Monitor schwarz
Gehäuse: be quiet! SILENT BASE 601 Silver
Gehäuselüfter: 2x be quiet! 140mm Pure Wings 2 Gehäuselüfter (Frontside) + 1x P12 PWM PST A-RGB 0dB 120mm Gehäuselüfter (Backside)
Drucker: HP Color Laser 179fwg Multifunktions-Farblaserdrucker (Drucker, Scanner, Kopierer, Fax, WLAN, Airprint)
Netzwerk: FRITZ!Box 6591 Cable (freie Version!)
Internet: Vodafone Kabel 1000 MBit down, 50MBit up
Benutzeravatar

Themenersteller
Immothep
Administrator
Beiträge: 443
Registriert: 28. Nov 2009, 01:06
Wohnort: Landshut
Hat sich bedankt: 6 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Re: entpacken und packen von Verzeichnissen auf dem Webserver mit php

Ungelesener Beitrag von Immothep »

mit dieser .php Datei kann man den Pfad herausfinden wo der Webserverpfad auf dem Server zu finden ist

Code: Alles auswählen

<?php
$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";
echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>";
?>
Einfach eine pfad.php erstellen und auf dem Webserver ausführen.
Posting © by Pogo. Alle Rechte vorbehalten. Kein verwenden und zitieren ohne Erlaubnis.

Bild




Mein PC Setup:

Betriebssystem: Windows 11 pro
CPU: AMD Ryzen 7 5800X3D
CPU Kühler: ARCTIC Liquid Freezer II 240 RGB
GPU: ASUS GeForce® RTX 2060 SUPER Dual Evo Advanced 8GB
Mainboard: MSI MPG X570 GAMING PLUS AMD X570 So.AM4 Dual Channel DDR4 ATX
RAM: 2x 16GB Crucial Ballistix schwarz DDR4-3600 DIMM CL16-18-18-38
SSD1: Samsung 980 PRO NVMe™ M.2 SSD - 1 TB
SSD2: Samsung 860 EVO SSD 500 GB SATA (Games)
SSD3: Samsung 850 EVO SSD 500 GB SATA (VMWare Datastore)
HDD1: WD Black WD5000LPLX 500GB SATA
CD/DVD Brenner: LG GH24NSB0 DVD 24x (DVD±RW)
Netzteil: be quiet! Straight Power 11 Platinum 550W
Sound: Soundblaster Play! 3 - USB
Headset: EPOS|Sennheiser Game One Gaming-Headset (mit offener Akustik) schwarz
Keyboard: Corsair K55 RGB
Mouse: Roccat Kone AIMO Gaming Maus (100 bis 16.000 Dpi), RGB AIMO LED Beleuchtung, 23 programmierbare Tasten, weiß (remastered)
Mauspad: Roccat Taito Control Gaming Mauspad (400mm x 320mm)
Monitor 1: Acer XF240H Gaming Monitor 24 Zoll FHD, 144Hz, höhenverstellbar, drehbar, G-Sync Compatible
Monitor 2: Benq G2110W 22 Zoll TFT Monitor schwarz
Gehäuse: be quiet! SILENT BASE 601 Silver
Gehäuselüfter: 2x be quiet! 140mm Pure Wings 2 Gehäuselüfter (Frontside) + 1x P12 PWM PST A-RGB 0dB 120mm Gehäuselüfter (Backside)
Drucker: HP Color Laser 179fwg Multifunktions-Farblaserdrucker (Drucker, Scanner, Kopierer, Fax, WLAN, Airprint)
Netzwerk: FRITZ!Box 6591 Cable (freie Version!)
Internet: Vodafone Kabel 1000 MBit down, 50MBit up
Antworten