kostenloser Webspace werbefrei: lima-city


PHP: ZIP-Datei auf anderem Server bearbeiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    Ich habe einmal im Internet gelesen, dass man mithilfe von PHP einem vorhandenem .zip-Archiv Dateien hinzufügen kann bzw. das Archiv verändern. Da ja hier auf dem Webspace keine ZIP-Archive erlaubt sind, habe ich vor, das Archiv auf den Downloadserver hochzuladen und dort eine, den Vorlieben des Benutzers angepasste Datei hinein zu kopieren.
    Ich hoffe ihr habt mein Problem verstanden und könnt mir helfen!

    MfG. Simon
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Du kannst ZIP-Dateien nicht auf entfernten Servern über das Netzwerk bearbeiten (es ist zwar möglich, aber nicht mit dem Downloadserver). Um überhaupt ZIP-Dateien lesen / schreiben zu können müsste die ZIP-Erweiterung von PHP aktiviert sein, was sie auf lima-city nicht ist. Alternativ kannst du natürlich in PHP einen eigenen ZIP-Datei-Codec schreiben, was ich allerdings nicht empfehlen kann. So wie es aussieht hast du in diesem Fall leider Pech gehabt.
  4. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    Ok, dann muss ich mir da leider etwas anderes überlegen.
    Hättest du eine Idee dazu?
    Der genaue Hintergrund ist, dass ich einen Kontaktformular-Generator in PHP schreibe und ich die fertigen Dateien am Ende in einem ZIP-Archiv zum Download bereitstellen will.

    Alternativ kannst du natürlich in PHP einen eigenen ZIP-Datei-Codec schreiben, was ich allerdings nicht empfehlen kann.

    Weshalb kannst du das nicht empfehlen??
    Aber erstmal Danke für die Hilfe!

    MfG. Simon D.
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    simon-d schrieb:
    … dass ich einen Kontaktformular-Generator in PHP schreibe und ich die fertigen Dateien am Ende in einem ZIP-Archiv zum Download bereitstellen will.
    Es heißt doch »darf nicht am Webspace liegen«. Das heißt aber nicht »darf nicht im RAM liegen«, also kannst du, solange das nur im RAM bleibt (was in PHP »Variable« bedeutet) deine ZIP-Datei zusammenbauen und direkt ausgeben. Um dies zu erreichen benötigst du aber eine ZIP-Implementierung in PHP… eventuell hilft dir hierbei diese Klasse weiter.

    Damit kannst du die ZIP-Datei innerhalb einer Variablen aufbauen, die du am Ende mit
    echo()
    ausgibst (natürlich musst du noch den Content-Type richtig setzen).
  6. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    Danke für den Tipp. Das Ding ist ja echt ne super Sache!
    Ich werde es mal ausprobieren. Ich melde mich dann am Wochenende wieder, wenn ich Zeit habe.

    MfG. Simon D.

    Edit:
    hackyourlife schrieb:

    Damit kannst du die ZIP-Datei innerhalb einer Variablen aufbauen, die du am Ende mit
    echo()
    ausgibst (natürlich musst du noch den Content-Type richtig setzen).


    Wie mache ich denn das? Soweit ich die Klasse verstehe, kann man nur eine bestimmte Datei dem Archiv hinzufügen. ich möchte ja, dass die Datei nur im Archiv existiert, weil (wenn es eine Datei wäre, die immer bearbeitet wird) es ja möglich ist, dass zwei Benutzer gleichzeitig diese Datei bearbeiten.

    Beitrag zuletzt geändert: 2.8.2013 14:19:59 von simon-d
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    simon-d schrieb:
    Soweit ich die Klasse verstehe, kann man nur eine bestimmte Datei dem Archiv hinzufügen.
    Du kannst damit ein neues ZIP-Archiv erstellen, Dateien hinzufügen (bestehend aus Dateiname und Inhalt) und alles zusammen als ZIP-Archiv in einer Variable geliefert bekommen.

    simon-d schrieb:
    ich möchte ja, dass die Datei nur im Archiv existiert, weil (wenn es eine Datei wäre, die immer bearbeitet wird) es ja möglich ist, dass zwei Benutzer gleichzeitig diese Datei bearbeiten.
    Was soll das bedeuten? Sollen mehrere Benutzer daran gleichzeitig »basteln« können?
  8. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    hackyourlife schrieb:
    Was soll das bedeuten? Sollen mehrere Benutzer daran gleichzeitig »basteln« können?

    Genau das bedeutet es nicht!
    Es soll keine Datei geben, das ich denke, dass es Probleme geben würde, wenn sie von mehreren Usern gleichzeitig benutzt wird.

    MfG. Simon D.
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Hast du dir das Beispiel 1 (example1.php) in dem Archiv angeschaut? Es gibt zu keinem Zeitpunkt eine tatsächlich am Server liegende Datei, alles passiert nur im RAM!

    Beitrag zuletzt geändert: 2.8.2013 21:35:32 von hackyourlife
  10. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    In example 1 ist folgende Zeile:
    $zipfile->create_file(file_get_contents(__FILE__), "kontakt.php"); // Add the data of the file that is wanted, and the full path to it in the zip.

    Soll ich für
    __FILE__
    dann die Variable mit dem Source Code angeben??
    Danke für die Hilfe!
    MfG. Simon
  11. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    simon-d schrieb:
    Hallo!
    In example 1 ist folgende Zeile:
    $zipfile->create_file(file_get_contents(__FILE__), "kontakt.php"); // Add the data of the file that is wanted, and the full path to it in the zip.

    Soll ich für
    __FILE__
    dann die Variable mit dem Source Code angeben??
    Nein.
    file_get_contents()
    liest den Inhalt einer Datei. In diesem Fall wird die PHP-Datei selbst gelesen. Wenn du die Daten in einer Variablen hast so setzt du diese statt
    file_get_contents()
    ein. Also z.b. so, falls
    $text
    den Inhalt enthält:
    $zipfile->create_file($text, "kontakt.php");
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!