PHP: ZIP-Datei auf anderem Server bearbeiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
archiv
bearbeiten
benutzer
bestimmte datei
code
dank
datei
empfehlen
ende
fertigen dateien
generator
gleichzeitig basteln
inhalt
kontakt
liegen
problem
richtig setzen
type
url
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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.
-
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. -
simon-d schrieb:
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.
… dass ich einen Kontaktformular-Generator in PHP schreibe und ich die fertigen Dateien am Ende in einem ZIP-Archiv zum Download bereitstellen will.
Damit kannst du die ZIP-Datei innerhalb einer Variablen aufbauen, die du am Ende mit
ausgibst (natürlich musst du noch den Content-Type richtig setzen).echo()
-
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
ausgibst (natürlich musst du noch den Content-Type richtig setzen).echo()
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 -
simon-d schrieb:
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.
Soweit ich die Klasse verstehe, kann man nur eine bestimmte Datei dem Archiv hinzufügen.
simon-d schrieb:
Was soll das bedeuten? Sollen mehrere Benutzer daran gleichzeitig »basteln« können?
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. -
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. -
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 -
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
dann die Variable mit dem Source Code angeben??__FILE__
Danke für die Hilfe!
MfG. Simon -
simon-d schrieb:
Nein.
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
dann die Variable mit dem Source Code angeben??__FILE__
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 stattfile_get_contents()
ein. Also z.b. so, fallsfile_get_contents()
den Inhalt enthält:$text
$zipfile->create_file($text, "kontakt.php");
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage