phpBB.de - Die deutsche phpBB-Community
Stand: 30.12.2008 04:56
aktuelle Version auf phpBB.de
 
Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods
 



Knowledge Base Offline -> Server & Technik -> PHP -> Wie realisiere ich Downloads mit PHP?

Wie realisiere ich Downloads mit PHP?
Autor: Pyramide
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/downloads_php

Wie realisiere ich Downloads mit PHP?

So kann man Downloads über PHP realisieren, um z.B. einen Downloadcounter einzubauen oder mit Hilfe von Referer-Checks externes verlinken zu verhindern.
Möglichkeit A
Code:
//hier z.B. Code für Referer-Check oder Downloadcounter

header("Location: downloads/irgendwas.zip");

Vorteil: Der eigentliche Downloadprozess wird vom Webserver behandelt, was performance- und funktionsmäßig besser ist.
Nachteil: wer will, kommt mit entsprechenden Programmen trotzdem an die Ziel-URL. Allerdings reicht ein simples umbenennen des Ordners mit den Dateien, um alle "illegalen" Links ins Leere laufen zu lassen, ohne daß die "legalen" beeinträchtigt werden.
Fazit: Einfache Lösung, um z.B. Referer-Checks oder Downloadcounter zu realisieren.

Möglichkeit B:
Code:
//hier z.B. Code für Referer-Check oder Downloadcounter

header("Content-type: application/zip");
header("Content-disposition: attachment; filename=irgendwas.zip");
readfile("downloads/irgendwas.zip");

Vorteil: ein Umgehen der PHP-Datei ist auch mit Speziellen Programmen nicht möglich.
Nachteile: Der PHP-Prozess läuft während des Downloads weiter und belastet den Server unnötig. Falls die Zieldatei auf einem anderen Server liegt, wird der dreifache Traffic verursacht (einmal auf dem Server mit der Datei und zweimal auf dem mit dem PHP-Script). Ausserdem müssten features wie abgebrochene downloads fortsetzen manuell in PHP nachgebaut werden.
Fazit: Speziallösung, falls man trotz Möglichkeit A hartnäckige Probleme mit direkten Verlinkungen auf die Downloaddateien hat.



Knowledge Base Offline -> Server & Technik -> PHP -> Wie realisiere ich Downloads mit PHP?