multiple download Implementierung

lupusoft

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2004
Beiträge
250
Reaktionspunkte
4
Moin,

ich habe auf 10.2.8 Apache mit PHP und mySQL laufen. Auf den Seiten stelle ich links zum download von mehreren zip-Dateien zur Verfügung. Die Anzahl der zip-Dateien ist je nach Nutzer variabel und könnte zwischen 1 und 96 liegen.
Jetzt meine Frage: Fällt irgendwem etwas dazu ein (PHP oder sonstwie), wie ich auf einen einzelnen Klick hin alle zip files auf einen Schwung herunterladen kann? Soweit ich weiss, hat die Mac-Version von mySQL die ZLIB Erweiterung nicht drinne, also kann ich auch nicht "on the fly" eine neue zip Datei aus den verschiedenen Einzeldateien erstellen. Gibt es irgendeine Möglichkeit, dem Browser klar zu machen, dass jetzt nicht eine, sondern mehrer Dateien zum download kommen?

Danke für eure Ideen, Andreas
 
einfach in eine HTML-Seite mehrere Downloads gleichzeitig einbauen?

No.
 
Weiss nicht genau, was du meinst, aber ich möchte natürlich vermeiden, dass der user bei 96 Dateien 96mal klicken muss.
 
so wie's z. B. sourceforge macht:
<META HTTP-EQUIV="refresh" content="5; URL=http://aleron.dl.sourceforge.net/sourceforge/azureus/Azureus2.1.0.4.jar">
halt einfach nur mit mehreren Files.

Hab's selbst nicht probiert, ob das geht, könnte ich mir aber gut vorstellen.

No.
 
Mmh, du meinst die eine download Seite macht eine Weiterleitung an die nächste download Seite oder so ähnlich? Werd ich mal runfruckeln ob das geht. Könnte als User Erfahrung natürlich in so einer Art popup-Horror Szenario enden ;) Danke jedenfalls erstmal.
 
Mit dem Dosen Download-Manager FlashGet funktioniert das. Rechte Maustaste, und schon kann man alle Dateien herunterladen, die als Link auf einer Seite sind.
 
SchaSche schrieb:
Mit dem Dosen Download-Manager FlashGet funktioniert das. Rechte Maustaste, und schon kann man alle Dateien herunterladen, die als Link auf einer Seite sind.

Wat nich all gibt. Wohl ein echtes Sauger Tool, was? Naja, mir hilft es leider nicht weiter; ich brauch ne serverseitige Lösung.
 
Vielleicht ist Dir das zu "dreckig":
in /tmp oder sonstwo die Dateien zwischenlagern, mit exec() tar, zip etc. ausführen und die Dateien "von Hand" zusammenpacken.
Anschließend die Archivdatei für den User verfuegbar machen.

Grüße
agui
 
aguilera schrieb:
... in /tmp oder sonstwo die Dateien zwischenlagern, mit exec() tar, zip etc. ausführen und die Dateien "von Hand" zusammenpacken.

Hi, hört sich professionell an und übersteigt damit meinen Horizont ;)
Bevor ich nachfrage, werd ich mal selber besser ein wenig detaillierter:
Die Einzel-Dateien liegen nicht direkt auf der Platte, sondern als blobs in der Bank. Um zu erklären warum, müsste ich noch weiter ausholen, deshalb lass ich das erstmal so stehen. Ich könnte sie natürlich über PHP wieder auf die Platte legen, ok.
Wie aber benutze ich exec() auf OSX? Funktioniert sowas wie exec('/usr/bin/zip undparamaterdieichauchnichtkenne')? Wie sieht es mit den permissions aus, da muss ich doch bestimmt auch dran rumfruckeln?
Ich bin wahrlich kein PHP Guru, hangel mich eher am Randes des Nervenzusammenbruchs durch, und das Terminal und ich sind auch nicht immer Freunde. Aber prinzipiell scheint mir dein Vorschlag in die richtige Richtung zu gehen. Frage mich nur, ob es nicht zu lange dauern würde bis die Komplettdatei fertig wäre. Mach mich jetzt mal über exec schlau...
 
Naja... professionell...

Also:
$ zip -?
liefert Dir die Parameter. z.B.
$ zip -m neueZip.zip datei1 datei2 ... dateiN

In /tmp darf normalerweise jeder rumschreiben...

Zu exec():
http://de2.php.net/manual/de/function.exec.php sagt:
$return = exec("/usr/bin/zip -m $sZipFile $sFilenames4Zip");

Muss so, oder so ähnlich klappen. Lies am besten selber noch mal nach.
Auch was die Fehlerbehandlung angeht...

Grüße
agui
 
Zurück
Oben Unten