Hallo zusammen,
Ich hab mal wieder ein kleines Problemchen...
Folgende Ausgangslage:
Ein User darf nur bestimmte Files zum Download angezeigt bekommen. Dieses Problem habe ich über eine Zuweisungstabelle in MySql lösen können. Nun gibt es aber zusätzlich die Sitution, dass einige der Files endlos viel gedownloadet werden dürfen, andere aber nur einmal.
Damit kein direkter Link zu den Files angezeigt wird, löse ich den Sart des Downloads über folgendes JavaScript:
Das funktioniert grundsätzlich problemlos. Das Script löst einen ganz normalen Download via Downloadmanager des Browser aus. Doch würde ich das, falls überhaupt möglich, lieber via PHP abhandeln, da man sich auf JavaScript je nach Browser und dessen Einstellungen ja nicht wirklich verlassen kann.
Aber ob nun via PHP oder JavaScript... irgendwie muss ich erfahren, ob der Download überhaupt korrekt ausgeführt wurde, damit ich bei Bedarf das File für einen weiteren Download sperren kann. Dazu muss ich lediglich in der besagten MySql Zuweisungstabelle einen Wert von 0 auf 1 setzen. Jedoch kann ich nur den reinen Start des Downloads nicht als Anhaltspunkt nehmen, da der User ja an mehreren Stellen den Download manuell unterbrechen kann oder vielleicht auch mal die Verbindung abschmiert.
Ich hoffe, ihr versteht wie ich das meine...
Für jede Hilfe bin ich dankbar.
Gruss
Philipp
Ich hab mal wieder ein kleines Problemchen...
Folgende Ausgangslage:
Ein User darf nur bestimmte Files zum Download angezeigt bekommen. Dieses Problem habe ich über eine Zuweisungstabelle in MySql lösen können. Nun gibt es aber zusätzlich die Sitution, dass einige der Files endlos viel gedownloadet werden dürfen, andere aber nur einmal.
Damit kein direkter Link zu den Files angezeigt wird, löse ich den Sart des Downloads über folgendes JavaScript:
Code:
<!-- Download starten --> <body onLoad = "Download();"> <script language="JavaScript"> <!-- function Download() { if ( allUrls.length == 0 ) { newlocation = backupURL; } else { x = Math.ceil(Math.random()*allUrls.length); newlocation = allUrls[x-1] ; } idl = 1; if (location.search) { idl = -location.search.indexOf("idl=n"); } if (idl > 0) { window.location = newlocation; } } // --> </script> <!-- Hier wird der Downloadpfad übergeben --> <script language="JavaScript"> var backupURL = "files/<?php echo $pfad; ?>"; allUrls = new Array(1); allUrls[0] = 'files/<?php echo $pfad; ?>'; </script>
Aber ob nun via PHP oder JavaScript... irgendwie muss ich erfahren, ob der Download überhaupt korrekt ausgeführt wurde, damit ich bei Bedarf das File für einen weiteren Download sperren kann. Dazu muss ich lediglich in der besagten MySql Zuweisungstabelle einen Wert von 0 auf 1 setzen. Jedoch kann ich nur den reinen Start des Downloads nicht als Anhaltspunkt nehmen, da der User ja an mehreren Stellen den Download manuell unterbrechen kann oder vielleicht auch mal die Verbindung abschmiert.
Ich hoffe, ihr versteht wie ich das meine...
Für jede Hilfe bin ich dankbar.
Gruss
Philipp
Kommentar