Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:php:programme:entpacken

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
programmieren:php:programme:entpacken [03/10/2020 12:11] connyprogrammieren:php:programme:entpacken [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 ==== Dateien entpacken ==== ==== Dateien entpacken ====
 \\ \\
-Diese Programm entpackt eine Datei mit Unterverzeichnissen.\\+Diese Script entpackt eine Datei mit Unterverzeichnissen.\\
 \\ \\
 \\ \\
-Problem: Man hat große Programmpakete und möchte diese nicht local entpacken und dann per FTP hochladen, weil das viel zu lange dauert.\\+**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: man kopiert die gepackte Datei auf den Webspace und zusätzlich dieses Script. Dieses entpackt dann das Script auf dem Webspace was wesentlich schneller geht.\\+**Alternative:** man kopiert die gepackte Datei auf den Webspace und zusätzlich dieses Script. Dieses entpackt dann das Script auf dem Webspace was wesentlich schneller geht.\\
 \\ \\
-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:php:programme:pl_exec_1.png?500 }}
  
 <code php| entpack.php> <code php| entpack.php>
 <?PHP <?PHP
-$dateiName 'backup.tar.gz'; +// Entpack Kommandos: https://www.thomas-krenn.com/de/wiki/Archive_unter_Linux_(tar,_gz,_bz2,_zip)#zip 
-$shellBefehl = "tar -xzvf $dateiName"; +echo "<h1>Datei entpacken</h1>"; 
-$shellBefehl = escapeshellcmd($shellBefehl); + 
-exec($shellBefehl,$nu); +if (!is_callable('exec')) { 
-<pre> + die( "EXEC muss in der PHP.INI zugelassen sein." ); 
-print_r($nu); +
-</pre> + 
-?> +if (!isset($_GET["datei"])) { 
 + 
 + echo "Bitte Datei zum enpacken anklicken:<br>"; 
 + // Der Punkt steht für das Verzeichnis, in der auch dieses 
 + // PHP-Programm gespeichert ist 
 + $read_verz "."; 
 + $verzeichnis = openDir($read_verz); 
 + // Verzeichnis lesen 
 + while ($file = readDir($verzeichnis)) { 
 + // Datei Extension auslesen 
 + $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); 
 + if ($file != "." && $file != ".." ) { 
 + if ( $ext == "zip" || $ext == "tar" || $ext == "gz" || $ext == "gzip" || $ext == "bz2" || $ext == "bzip2") { 
 + // Link erstellen 
 + echo "<a href='". basename(__FILE__) ."?datei=$file'>$file</a><br>\n"; 
 +
 +
 +
 + // Verzeichnis schließen 
 + closeDir($verzeichnis); 
 + 
 +} else { 
 +  
 + $dateiname = $_GET["datei"]; 
 + echo "<b>".$dateiname."</b> wird entpackt:<br>"; 
 + 
 + $ext = strtolower(pathinfo($dateiname, PATHINFO_EXTENSION));  
 + 
 + if ($ext === "zip") { 
 + // echo "ZIP Datei <br>"
 + $shellBefehl = "unzip $dateiName";  
 +  
 + } elseif ($ext === "tar") { 
 + // echo "tar Datei <br>"; 
 + $shellBefehl = "tar cfv $dateiName"; 
 +  
 + } elseif ($ext === "gz" || $ext === "gzip" ) { 
 + // echo "gz Datei <br>"; 
 + $shellBefehl = "tar xfvz $dateiName"; 
 +  
 + } elseif ($ext === "bz2" || $ext === "bzip2" ) { 
 + // echo "gzip Datei <br>"; 
 + $shellBefehl = "tar xfvj $dateiName"; 
 +
 + 
 + $shellBefehl = escapeshellcmd($shellBefehl); 
 + exec($shellBefehl,$nu); 
 + echo "<pre>"; 
 + print_r($nu); 
 + echo "</pre>"; 
 + echo "Fertig"; 
 + 
 +
 + 
 +function isEnabled($func) { 
 +       return is_callable($func) && false === stripos(ini_get('disable_functions'), $func); 
 +} 
 +?>
 </code> </code>
 +
 +**Ausgabe:**
 +  Array
 +  (
 +    [0] => dokuwiki/.htaccess.dist
 +    [1] => dokuwiki/COPYING
 +    [2] => dokuwiki/README
 +    [3] => dokuwiki/VERSION
 +    [4] => dokuwiki/bin/.htaccess
 +    [5] => dokuwiki/bin/dwpage.php
 +    [6] => dokuwiki/bin/gittool.php
 +    [7] => dokuwiki/bin/indexer.php
 +    [8] => dokuwiki/bin/plugin.php
 +    [9] => dokuwiki/bin/render.php
 +    [10] => dokuwiki/bin/striplangs.php
 +    [11] => dokuwiki/bin/wantedpages.php
 +    [12] => dokuwiki/conf/.htaccess
 +    [13] => dokuwiki/conf/acl.auth.php.dist
 +    [14] => dokuwiki/conf/acronyms.conf
 +    [15] => dokuwiki/conf/dokuwiki.php
 +    [16] => dokuwiki/conf/entities.conf
 +    [17] => dokuwiki/conf/interwiki.conf
 +    [18] => dokuwiki/conf/license.php
 +    [19] => dokuwiki/conf/local.php.dist
programmieren/php/programme/entpacken.1601719865.txt.gz · Zuletzt geändert: 03/10/2020 11:11 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki