Portal > Foren > PHP > PHP-Programmierung > GZip-Komprimierung mehrerer Dateien mittels PHP
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 03.04.2007, 16:11 Nach oben    #1
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard GZip-Komprimierung mehrerer Dateien mittels PHP

Tag,
ich hab im Web leider nichts dazu finden können, auch nicht im Manual, darum frag ich mal hier.

Mittels getFileList() lass ich mir rekursiv alle Dateien sammeln, die in $sBackupDir existieren. Nun möchte ich alle Dateien in einem GZip-Archiv speichern.
PHP-Code:
<?php
$aFileList 
FileCrawler::getFileList($sBackupDirectory);
$rGzHandle gzopen($sBackupFile'w9');

foreach(
$aFileList AS $sFile) {
        
$rHandle fopen($sFile'rb');
        
$iFileSize filesize($sFile);
        
$sData fread($rHandle, ($iFileSize 0) ? $iFileSize 1);
        
fclose($rHandle);

        
gzwrite($rGzHandle$sData);
}

gzclose($rGzHandle);
Mit dieser Funktion speichere ich allerdings nur den Inhalt aller Dateien in dem GZip-Archiv - ein wiederherstrellen ist daher unmöglich. Ich will aber, wie bei einem ganz normalem Archiv, alle meine Datien komprimiert darin finden.
Auf php.net habe ich nur immer Möglichkeiten zum komprimieren einzelner Dateien gefunden, jedoch nicht die Möglichkeit, mehrere Dateien zu einem Archiv zusammenzufassen.
Wie geht das?
__________________
http://www.ChrisDiary.De

Geändert von Chr!s (03.04.2007 um 17:23 Uhr)
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.04.2007, 19:21 Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 154
Standard

Hallo,

M.E. ist gzip ein SingleFile-Komprimierungsformat. Um mehrere Dateien zusammenzufassen musst du sie vorher erst einmal in eines packen, z.B. mittels TAR. Das Ergebnis wäre dann ein *.tar.gz bzw. *.tgz.

Die eigentliche Frage dabei ist, ob man tar als externes Tool aufruft oder es intern verwenden will.

Eine andere Variante wäre, indem du die eingespeicherten Daten mit einer eigenen Dateiverwaltung in das File legst ... Allerdings kann dann auch nur dein Tool den Inhalt auswerten und entpacken

Gruß,
Jumper, the II.

/EDIT: Hier ein TAR-Beispiel PHP-Hilfe; Kommentar!

Geändert von JumperII (03.04.2007 um 19:23 Uhr)
JumperII ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.04.2007, 19:32 Nach oben    #3
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.365
Standard

Die Antwort weiß ich leider auch nicht weiß, aber ggf. ist da was bei?
http://www.zend.com/zend/spotlight/c...zip-files1.php
http://www.phpconcept.net/pclzip/index.en.php
http://www.ruinelli.ch/bysu

Wobei sich das mehr auf zip-files bezieht.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2007, 19:06 Nach oben    #4
Christian Schuhmann
 
Benutzerbild von bobby
 
Registriert seit: 09.03.2007
Ort: Nürnberg
Beiträge: 63
Standard

Vielleicht hilft dir ja http://pear.php.net/package/Archive_Tar weiter.

bobby.
bobby ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.04.2007, 14:10 Nach oben    #5
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Zitat:
Zitat von JumperII
Hallo,

M.E. ist gzip ein SingleFile-Komprimierungsformat. Um mehrere Dateien zusammenzufassen musst du sie vorher erst einmal in eines packen, z.B. mittels TAR. Das Ergebnis wäre dann ein *.tar.gz bzw. *.tgz.
Hm ja da hast du Recht, danke.
Danke für die Links.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Simples Caching System mittels Dateien Chr!s Tutorials 5 04.11.2006 23:55
Gruppierte Rechteverwaltung mittels PHP und MySQL Chr!s PHP-Programmierung 18 18.10.2006 14:06
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
[PHP] Erstellung und Bearbeitung von Bildern mittels PHP WarrenFaith Tutorials 1 23.08.2005 15:30


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45