Mit PHP entzippen

Tix

Erfahrenes Mitglied
Hallo Leute,

ich habe schon alles hier durchsucht, aber nix gefunden was mir helfen kann.
Ich habe PHP 4.3 auf meinem LinuxServer installiert.

Auf diesem liegt eine Zip-Datei die in einen anderen Ordner entzippt werden soll. Ich habe auch schon dieverse Links wie PHP: ZIP Funktionen (Lesezugriff) - Manual oder so durchsucht. Aber das geht alles nicht.

Muss ich dafür was besonderes auf dem Server installiert oder freigegeben haben, damit das geht?

Wäre nett wenn Ihr mir helfen könntet.

Gruß, Tix
 
This package can be used to pack and unpack files in ZIP archives.

There is a class that can retreive the list of packed files as well several types of file details such as the uncompressed size, last modification time, comments, etc..

The class can extract individual files, one at a time, specifying their file names , or extract all at once into a given directory.

There is another class that can by pack files into new ZIP archives.

The classes use the usual PHP file access functions and gzip extension functions.
PHP Classes - Class: dUnzip2

Ist übrigens der zweite Treffer in der 'Compression' Gruppe der Klassen...

Und der erste wenn man nach 'unzip' sucht ;)
 
also irgendwie komme ich mit der Website nich klar. Muss ich diese Klasse installieren, oder ist das das fertige Script. Hab bis jetzt immer nur etwas leichterere Sachen programmiert
 
Da sind doch 4 Dateien drin?
Zwei Klassen, eine zum dynamischen zippen, die andere die Unzip Klasse...
Dann sogar eine Documentation.txt die dir alles erklärt UND eine sample.php mit Beispielen.

Anhand diesen sollte man doch wirklich arbeiten können?

Und die Klassen sind beide sehr gut dokumentiert, meiner Meinung nach.
 
Das hier ist der Quelltext meiner Datei

PHP:
$zip = zip_open("/var/www/vhosts/bloemker-immobilien.de/httpdocs/temp/" . $datei);

if ($zip) {

   while ($zip_entry = zip_read($zip)) {
       echo "Name:              " . zip_entry_name($zip_entry) . "\n";
       echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
       echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
       echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

       if (zip_entry_open($zip, $zip_entry, "r")) {
           echo "File Contents:\n";
           $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
           echo "$buf\n";

           zip_entry_close($zip_entry);
       }
       echo "\n";

   }

   zip_close($zip);

}

Das hier ist die Fehlermeldung:

Code:
Fatal error: Call to undefined function: zip_open() in /var/www/vhosts/bloemker-immobilien.de/httpdocs/admin/crowntabzip.php on line 20

Liegt das an dem Script, oder an meinem Server?
 
Hallo!

Wahrscheinlich liegt es am Server (das Script kenne ich nicht), denn zip_open() ist eine Funktion von PHP..... und die steht dir nicht zur Verfügung.

Ansonsten könntest Du Dir ja z.b. auch mal PclZip ansehen.
Diese Klasse kann auch Zip-Archive packen/entpacken.
Im User Manual sind auch Beispiele für die einzelnen Funktionen (z.b. für create() und extract()).

Gruss Dr Dau
 
auf dieser Seite mit dem PclZip war ich auch schon öfter, allerdings verstehe ich es nicht. Muss ich das bei mir auf dem Server installieren, oder ist das einfach nur ne andere PHP-Funktion die schon vorinstalliert ist?
 
Du musst das Script, wie im Manual beschrieben, in Dein Script einbinden um die entsprechenden Funktionen nutzen zu können.
"installieren" brauchst Du dabei garnichts, das Script ist eine Klasse die von anderen Scripten genutzt werden kann.
 
Zurück