• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Download-Paket generieren

Toastbrot

Neues Mitglied
Hallo Leute, ich komme mal wieder mit meinem neusten Problemchen an :)
Beim Bereich war ich mir nicht sicher, also sry wenns hier falsch sein sollte ;)


Also, ich stehe vor folgendem Problem:
Auf einer Seite werden verschiedene Dateien zum Download angeboten. Je nach Anklicken des einen oder anderen Links soll eine andere Kombination heruntergeladen werden. Bis jetzt wird für jedes Paket ein einzelner *.zip-Ordner hochgeladen und dann verlinkt.

Nun habe ich mir gedacht, dass das bestimmt auch einfacher geht. Da sich in den einzelnen Paketen oft nur eine Datei unterscheidet, müsste es doch eig. möglich sein, diesen Download sozusagen aus den Links zu "generieren", sodass ich jede Datei nur einmal abspeichern muss.

Ich weiß nicht ob das verständlich ist, aber vielleicht versteht ja jemand was ich meine :)

Danke schonmal im Voraus.

Greetz
Toast
 
Werbung:
Werbung:
Das ist im Prinzip genau das, was ich suche, danke dir :)

Aber geht das auch, ohne das ganze Abzuspeichern? Bin kein PHP-Könner, also muss ich mich da erstmal ordentlich reinarbeiten *puh*
 
Du wirst kurzzeitig ein Zip-Datei erstellen müssen. Gleich danach kannst du diese lesen und an den Browser senden und diese dann wieder löschen.

Ein wenig Festplattenspeicher brauchst du also. Je nach Anzahl der Zugriffe.
 
Werbung:
PHP: Zip - Manual

Hier habe ich mir jetzt die nötigen Funktionen angeschaut, bin mir aber noch nciht sicher ob ich richtig liege:

ZipArchive::addEmptyDir zum Erstellen eines *.zip-Ordners
ZipArchive::addFile zum Hinzufügen einer Datei
ZipArchive::eek:pen zum downloaden (ich bin mir aber nicht ganz sicher ob das mit Öffnen gemeint ist, halt sowas wie "aufrufen", so wie wenn ich die Adresse in der Browserzeile eingebe?)

Zum Löschen des ganzen Ordners habe ich ncihts gefunden, was nimmst man da?

Greetz
Toast
 
Mit open() erzeugst du eine neue Zip-Datei. Lesen und an der Browser weiterleiten kannst du mittels fopen(), fread(), fclose(). und löschen mit unlink().
 
Zurück
Oben