Aiun Geschrieben 29. Juni 2009 Teilen Geschrieben 29. Juni 2009 hi, ich möchte in einer Anwendung die Möglichkeit integrieren, Plugins direkt zu installieren / deinstallieren. d.h.: der Administrator wählt eine zip, tar, was-auch-immer Datei aus, hochladen und die dateien werden entsprechend im Plugin-Verzeichnis entpackt. (alles php-seitig) 'theoretisch' habe ich es auch, funktioniert nur nicht Dateien die auf einem Server gepackt wurden, werden auf einem anderen nicht korrekt entpackt. Ich vermute das es hier unterschiede in den PHP Versionen gibt. Mir ist wichtig, das ich die Daten kontrollieren kann, d.h. in die Dateien rein sehen, evtl. nach schlüsselwörtern suchen o.ä. ... eine kleine Sicherheitsprüfung. es muss auch möglich sein, die Dateien direkt vom Server aus zu packen und als Archiv-Datei ab zu legen. derzeit nutze ich gzopen, gzread bzw. gzwrite Hat jemand eine andere Idee ? Gibt es evtl. eine Klasse an der ich mir das mal ansehen kann? danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juni 2009 Teilen Geschrieben 29. Juni 2009 Da Du nicht schreibst was Du überhaupt verwendest ist es schwer zu helfen. Die zwei Zip Systeme die mir direkt einfallen wären: File_Archive PHP: Zip - Manual Aber es ist immer hilfreich, wenn Du Code und Fehlermeldungen postest Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 29. Juni 2009 Autor Teilen Geschrieben 29. Juni 2009 das Problem besteht darin, das es sich um eigenen Code handelt und ich wollte euch jetzt nicht hier mit code bombardieren es könnte aber sein das du mir schon geholfen hast, ich werde mal einen blick in das pear-Paket werfen. derzeit schreibe ich Blöcke aus Länge, MD5 und Daten. je 2 Blöcke ergeben Identifier und Value paare. d.h. für jede Datei gibt es einen Identifier "FILE" und den Inhalt. Der Dateiname wird in einem Index hinterlegt und vor den eigentlichen Dateien in das Archiv geschrieben. d.h. Archiv: - Version - ID: Fileindex - Data: Fileindex - ID: FILE - Data: datei1 - ID: FILE - Data: datei2 .... Die Archiv Datei beginnt immer mit der Versionsnummer des Archivs und bereits da tritt das Problem auf. Server A kann den Dateianfang von Server B nicht lesen. Server A kann aber seine eigenen Dateien korrekt lesen und schreiben. Ich will gleich Beispieldaten erzeugen, dann kann ich die genauen zeichenfolgen aufzeigen. Wie gesagt vielleicht ergibt sich das schon. Danke soweit. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juni 2009 Teilen Geschrieben 29. Juni 2009 das Problem besteht darin, das es sich um eigenen Code handelt und ich wollte euch jetzt nicht hier mit code bombardieren Du hast den Zip Algorithmus http://de.wikipedia.org/wiki/ZIP_(Dateiformat) selbst programmiert? Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 29. Juni 2009 Autor Teilen Geschrieben 29. Juni 2009 *g* nein. Siehe oben. mein Code ist an sich nicht abhängig von der verwendeten Kompression. k.A. ob eine der existierenden Funktionen genauso arbeitet ... dann hätte ich mir wohl selbst in den Fuß geschossen...... :upps mir geht es ja darum das ich einen blick auf die Dateien werfen kann und sie nicht automatisch 'irgendwohin' entpackt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juni 2009 Teilen Geschrieben 29. Juni 2009 *g* nein. ich dachte schon, denn das wäre oversized mir geht es ja darum das ich einen blick auf die Dateien werfen kann und sie nicht automatisch 'irgendwohin' entpackt werden. Da würde ich eine fertige Komponente nehmen und mir einfach die Dateiliste zurück geben lassen Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.