[Linux] Tar Ordnerstruktur
Xxx
- php
Hallo zusammen,
ich habe folgendes Problem: erstelle ich mit system() ein tar Archiv auf meinem Linux Server.
$action = system("tar -cvf ".$cfg['absolutepath']."zipped/tar_".$AlbumId."_".$final_name.".tar ".$strings." $file_1 $file_2");
Das Problem ist, dass die Ordnerstruktur des Servers wo die Bilder liegen mit ins Archiv übernommen wird. Das soll so nicht sein, es sollen nur die Dateien im Archiv abgelegt werden.
Im Archiv habe ich entdeckt, dass jemand schonmal ein ähnliches Problem hatte. Konnte die vorgeschlagene Lösung jedoch nicht nachvollziehen.
Die tar --help Datei gibt leider auch keinen Aufschluss.
Weiß jemand Rat?
Viele Grüße
Xxx
hallo,
$action = system("tar -cvf " [...]
Die tar --help Datei gibt leider auch keinen Aufschluss.
Du bist schon auf dem richtigen Weg mit deiner Suche. Tatsächlich hat es was mit den an tar übergebenen Schaltern zu tun.
Weiß jemand Rat?
Ich weiß nicht, was du unter "tar --help" zu lesen bekommst. Wenn man sich informieren möchte, ist eigentlich die manpage zuständig, also "man tar". Die sagt dir, welche Schalter was bewirken. So, wie du sie jetzt verwendest, bedeuten sie:
-c "create", alo tar-Archiv erstellen
-v "verbose", also umfangreichere Informationen auf STDOUT ausgeben
-f "file", also die gewünschte Datei (oder das ganze gewünschte Verzeichnis einschließlich aller Pfade) komprimieren.
Das Problem deiner Frage reduziert sich also vermutlich auf die letzte Option "f".
Wie du das über PHP ausbessern kannst, weiß ich auch nicht genau, das habe ich noch nie probiert. Wenn ich unmittelbar auf dem System mehrere unterschiedliche Dateien in ein tar-Archiv packen will, schiebe ich die einfach mit dem Schalter "r (steht für append, also anhängen)" in ein leeres Archiv. Ich würde also vermutlich versuchen, ein PHP-Script zu schreiben, das zuerst ein leeres tar-Archiv erstellt und dahinein dann der Reihe nach die gewünschten Dateien schubst.
Das ist nur so eine These, probiert habe ich da noch nie. Aber vielleicht bringt es dich auf die für dich richtige Lösung.
Grüße aus Berlin
Christoph S.