programmieren:php:programme:entpacken
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| programmieren:php:programme:entpacken [03/10/2020 12:11] – conny | programmieren:php:programme:entpacken [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ==== Dateien entpacken ==== | ==== Dateien entpacken ==== | ||
| \\ | \\ | ||
| - | Diese Programm | + | Diese Script |
| \\ | \\ | ||
| \\ | \\ | ||
| - | Problem: | + | **Problem:** man hat große Programmpakete und möchte diese nicht local entpacken und dann per FTP hochladen, weil das viel zu lange dauert.\\ |
| \\ | \\ | ||
| - | Alternative: | + | **Alternative: |
| \\ | \\ | ||
| - | Anwendung: | + | **Anwendung:**\\ |
| Dazu einfach die Datei in das gewünschte Verzeichnis kopieren und die erste Zeile ändern.\\ | Dazu einfach die Datei in das gewünschte Verzeichnis kopieren und die erste Zeile ändern.\\ | ||
| Dann das Script starten.\\ | Dann das Script starten.\\ | ||
| \\ | \\ | ||
| + | **ACHTUNG: | ||
| + | Das Script benötigt die Berechtigung von zum Ausführen der EXEC Befehle. Dazu muss diese in der php.ini entsprechend | ||
| + | freigegeben sein. | ||
| + | {{ programmieren: | ||
| <code php| entpack.php> | <code php| entpack.php> | ||
| <?PHP | <?PHP | ||
| - | $dateiName | + | // Entpack Kommandos: https:// |
| - | $shellBefehl = " | + | echo "< |
| - | $shellBefehl = escapeshellcmd($shellBefehl); | + | |
| - | exec($shellBefehl, | + | if (!is_callable(' |
| - | < | + | die( "EXEC muss in der PHP.INI zugelassen sein." ); |
| - | print_r($nu); | + | } |
| - | </ | + | |
| - | ?> | + | if (!isset($_GET[" |
| + | |||
| + | echo "Bitte Datei zum enpacken anklicken:< | ||
| + | // Der Punkt steht für das Verzeichnis, | ||
| + | // PHP-Programm gespeichert ist | ||
| + | $read_verz | ||
| + | $verzeichnis = openDir($read_verz); | ||
| + | // Verzeichnis lesen | ||
| + | while ($file = readDir($verzeichnis)) { | ||
| + | // Datei Extension auslesen | ||
| + | $ext = strtolower(pathinfo($file, | ||
| + | if ($file != "." && $file != " | ||
| + | if ( $ext == " | ||
| + | // Link erstellen | ||
| + | echo "<a href='". basename(__FILE__) ."? | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | // Verzeichnis schließen | ||
| + | closeDir($verzeichnis); | ||
| + | |||
| + | } else { | ||
| + | |||
| + | $dateiname = $_GET[" | ||
| + | echo "< | ||
| + | |||
| + | $ext = strtolower(pathinfo($dateiname, | ||
| + | |||
| + | if ($ext === " | ||
| + | // echo "ZIP Datei < | ||
| + | $shellBefehl | ||
| + | |||
| + | } elseif ($ext === "tar") { | ||
| + | // echo "tar Datei < | ||
| + | $shellBefehl = "tar cfv $dateiName"; | ||
| + | |||
| + | } elseif ($ext === " | ||
| + | // echo "gz Datei < | ||
| + | $shellBefehl = "tar xfvz $dateiName"; | ||
| + | |||
| + | } elseif ($ext === " | ||
| + | // echo "gzip Datei < | ||
| + | $shellBefehl = "tar xfvj $dateiName"; | ||
| + | } | ||
| + | |||
| + | $shellBefehl = escapeshellcmd($shellBefehl); | ||
| + | exec($shellBefehl, | ||
| + | echo "<pre>"; | ||
| + | print_r($nu); | ||
| + | echo "</ | ||
| + | echo " | ||
| + | |||
| + | } | ||
| + | |||
| + | function isEnabled($func) { | ||
| + | | ||
| + | } | ||
| + | ?> | ||
| </ | </ | ||
| + | |||
| + | **Ausgabe: | ||
| + | Array | ||
| + | ( | ||
| + | [0] => dokuwiki/ | ||
| + | [1] => dokuwiki/ | ||
| + | [2] => dokuwiki/ | ||
| + | [3] => dokuwiki/ | ||
| + | [4] => dokuwiki/ | ||
| + | [5] => dokuwiki/ | ||
| + | [6] => dokuwiki/ | ||
| + | [7] => dokuwiki/ | ||
| + | [8] => dokuwiki/ | ||
| + | [9] => dokuwiki/ | ||
| + | [10] => dokuwiki/ | ||
| + | [11] => dokuwiki/ | ||
| + | [12] => dokuwiki/ | ||
| + | [13] => dokuwiki/ | ||
| + | [14] => dokuwiki/ | ||
| + | [15] => dokuwiki/ | ||
| + | [16] => dokuwiki/ | ||
| + | [17] => dokuwiki/ | ||
| + | [18] => dokuwiki/ | ||
| + | [19] => dokuwiki/ | ||
programmieren/php/programme/entpacken.1601719865.txt.gz · Zuletzt geändert: 03/10/2020 11:11 (Externe Bearbeitung)
