Zip-Script
-
Hi,
ich suche ein Script mit dem automatisch ZIP-Dateien erstellen kann. Ich brauche das ganze für eine Bilder-Galerie, es sollen ganze Galerien runtergeladen werden können, aber ich habe nicht genug Platz das auch noch alles als Zip auf den Server zu stellen!
Ich stelle mir das so vor:
makezip("Datei1","Datei2","Datei3",...);
das es möglich ist weiß ich, weil ich so etwas schon einmal gesehen habeDas ganze sollte in PHP realisiert werden
-
In PHP ist ein lesender ZIP Zugriff implementiert (ab 4.1.0), allerdings nicht schreibend, so wie du es brauchst.
Mehr findest du darüber in der PHP Dokumentation.
-
Hi,
ich brauche aber schreibenden Zugriff.
Es hat doch bestimmt schon jemand eine Lib dazu gebastelt.
-
Ja, es gibt ne Möglichkeit ZIPs zu erstellen, aber nicht unbedingt zu empfehlen: http://www.zend.com/zend/spotlight/creating-zip-files1.php http://www.zend.com/zend/spotlight/creating-zip-files2.php http://www.zend.com/zend/spotlight/creating-zip-files3.php
-
du kannst auch die externen tools von deinem server nutzen. zum beispiel 'gzip' oder sowas mit nem 'system' aufruf
-
imho ist zip wie .. gif closed source und kostenpflichtig
-
ICh würde Dir zu GZip raten.
Musst Du mal im PHP-Man unter "Zlib Komprimierungsfunktionen" schauen.
ich hab das selber noch nicht gemacht, aber das ist imho das, was Du suchst.
Und WinRAR und Kollegen können das sicher auch entpacken.MfGr,
mid
-
-
Original erstellt von flenders:
http://www.php.net/manual/de/ref.zlib.phpDanke:)
Ich habe es jetzt so versucht:<?php $datei=fopen("http://www.bsmcs.gu1.info/picture/bild.gif","r"); $dateiinhalt=readfile($datei); $zip=gzopen("datei.zip", "w9"); gzwrite($zip,$dateiinhalt); gzclose($zip); ?>
Die Dateien sind beide vorhanden, beide Rechte auf 777!
Er bringt mir aber nur die Fehlermeldungen:Warning: readfile() [function.readfile]: Unable to access Resource id #2 in /home/bsmcs/public_html/picture/zip.php on line 3
Warning: readfile(Resource id #2) [function.readfile]: failed to create stream: No such file or directory in /home/bsmcs/public_html/picture/zip.php on line 3
Was mache ich falsch?
-
readfile erwartet kein File-Handle sondern direkt den Dateinamen!
Außerdem gibt es keinen String zurück, sondern gibt die Datei einfach aus Um eine Datei in einen String zu bekommen musst du, falls du PHP > 4.3.0 verwendest, file_get_contents(); verwenden (erwartet wieder direkt den Dateinamen). Die Zeile mit fopen ist also überflüssig!