Willkommen in der Webstatt
User-1 am 13.08.06 20:52

Guten Tag,

Wie kann ich online gepackte archive entpacken und welche Archive kann ich entpacken?

Ich habe es mit dem Befehl rar_open versucht aber der scheint nicht zu funktionieren.

Ist es prinzipiell möglich .rar archive online zu entpacken ?

Hat vielleicht jemand eine funktionierende Funktion dafür ?

All das was ich im Internet gefunden habe war irgendwie nicht zu gebrauchen.

mfg Alexander

netcup.de Warum gibt es hier Werbung?
User-2 am 13.08.06 20:56

rar...so ne technik für sich...benutz lieber zip oder noch besser tar(.gz).
da kannst du dann auch sicher sein das es (im prinzip) funktioniert...

warum genau kannst du denn nicht mit rar_open() entpacken?

User-1 am 13.08.06 21:08

Es kommt immer ein Fehler (habe das Script mitlerweile gelöscht und weiß deswegen auch nicht mehr was für einer)...

Denke ich werde das dann mit tar.gz machen oder gibt es eine Möglichkeit komplette Ordner hochzuladen ohne sie zu packen.

Denke das ginge nur mit Java oder? Man sieht ja soviel mit Drag and Drop und ganze Ordner hochladen.

mfg Alexander

User-2 am 13.08.06 21:10

jap...dazu er hier

User-3 am 13.08.06 21:52

Hi,

das hier verwende ich für *.zip Dateien.

$zip = system("unzip -qq $zip_verz -d $original_verz");

Wenn $zip FALSE zurückliefert, dann ist das Entpacken fehlgeschlagen.

User-4 am 13.08.06 22:43

Kommt halt ganz drauf an, was der Server so zu bieten hat..

Hier ein paar Dekompressionsbefehle:

unrar x archiv.rar
tar xf archiv.tar
tar xf archiv.tar.gz
tar xjf archiv.tar.bz2
unzip archiv.zip
unace x archiv.ace

Näheres zu dein einzelnen Befehlen in den man-pages.

User-1 am 14.08.06 14:36

Quote
Original von xyz-126
Hi,

das hier verwende ich für *.zip Dateien.

$zip = system("unzip -qq $zip_verz -d $original_verz");

Wenn $zip FALSE zurückliefert, dann ist das Entpacken fehlgeschlagen.


$zip_verz ist das zip archiv und $original_verz das archiv wohin entpackt werden soll ?

mfg Alex

User-2 am 14.08.06 14:42

...und du solltest system() benutzen dürfen...

User-1 am 14.08.06 14:46

Quote
Original von xyz-72
...und du solltest system() benutzen dürfen...


Wenn beim Aufruf der Funktion:

function extract_zip($zip_verz, $original_verz) {
$zip = system("unzip -qq $zip_verz -d $original_verz");
}


kein Fehler kommt heißt das im Umkehrschluss ich darfs benutzen ?

edit:// Irgendwie findet man da auch kein schönes beispiel im Internet, dass vielleicht mit der Zlib arbeitet oder so... grrr.. und ne andere Möglichkeit nen ordner hochzuladen außer FTP gibt es nicht oder ? (es soll barrierefrei sein, also kein JS oder so )

mfg Alex

edit://

Habe mir nochmal was gebastelt.

will aber auch nciht so wie ich will.

jmd ne idee ? :D

unzip_file("pattemplate.zip");

function unzip_file($zip_file)
{
$uzp = gzopen($zip_file,"r");
$unzip_file=gzread($uzp,-1);
gzclose($uzp);
return $unzip_file;
}

User-5 am 14.08.06 15:20

ich hab da ein zip-entpack script dass ich für eine gallerie benutzen werde - ist halt einfach ein teil von meinem script aber vielleicht hilft es dir weiter:

function unZip ($quelle, $ziel) {

$zip_zeiger = zip_open($quelle);
while($zip_entry = zip_read($zip_zeiger)) {
$i++;
if (zip_entry_open($zip_zeiger, $zip_entry, 'r')) {
$buffer = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
# Dateityp überprüfen, nur .jpg erlaubt
if (substr(zip_entry_name($zip_entry), -4) != '.jpg') {
# Fehler - die Datei ist nicht .jpg
return false;
}
$fp = fopen($ziel.zip_entry_name($zip_entry),'w+');
fwrite($fp, $buffer);
zip_entry_close($zip_entry);
}
else {
# Fehler - Datei kann nicht gelesen werden
return false;
}
}
zip_close($zip_zeiger);
}


das script öffnet ein zip ($quelle), durchläuft jede datei, prüft ob es ein .jpg ist und kopiert sie anschliessend nach $ziel.

so long

User-1 am 14.08.06 15:27

genau dafür brauche ich sowas auch :D

Hoffe mal mit deiner Funktion klappt ist.

danke schonmal

mfg Alex

User-4 am 14.08.06 16:15

> und ne andere Möglichkeit nen ordner hochzuladen außer FTP gibt es nicht oder ?

Gibt es: WebDAV, eine Erweiterung des HTTP Protokolls.
Aber bis sich das mal als Standard durchgesetzt hat... :-\

User-1 am 14.08.06 16:19

Naja nun hat zum Glück mal alls mitn entzippen geklappt...

xyz-48ke für eure Hilfe, speziell xyz-48ke an xyz-169 für die Funktion :D

mfg Alex

User-5 am 14.08.06 16:30

dann ist ja gut. bitte schön.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt