Wurde am 05.05.2011 - 01:40 aktualisiert! Große Dateien (>10GB )sind jetzt auch möglich.
Dokumentation: Hier wird Ihnen gezeigt wie Sie die direkte Dateiverlinkung unterbinden.
Das ist sinnvoll, da diese dann nicht über Ihren erstellten Download heruntergeladen werden, sondern direkt aus dem DL Verzeichnis selbst. Somit wird der Download nicht gezählt.
Das hier wäre ein direkter Downloadaufruf ->
http://www.kit-coding.de/content/download/Datei.rar (Nach Abschluss dieses Tutorials nicht mehr möglich

)
Erstmal besorgt Ihr Euch diese Datei:
hier
Nun geht Ihr nach Anleitung vor wie in dem Anhang beschrieben, eben nur, das Ihr die Xssen.php in das content/download/ Verzeichnis kopiert.
Wenn Ihr jetzt einen Account angelegt habt und der schutzt steht öffnet folgende Datei
Editiere: pkinc/public/download.php
Suche:
| PHP-Code Anfang: (5 Zeilen) | Code markieren | | | if($download && $download!=$config['content_downloadpath'].'/') { header("location: ".$download); exit(); } | | | PHP-Code ENDE: (5 Zeilen) | Code markieren | |
Ersetze mit:
| PHP-Code Anfang: (30 Zeilen) | Code markieren | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | | if(preg_match('/(^http)|(^ftp)/',$d)){ header("location: ".$download); exit(); }else{ $size = intval(sprintf("%u", filesize(pkDIRWWWROOT.$download))); header("Content-type: application/force-download"); header("Content-Disposition: inline; filename=".urlencode($d).";"); header("Content-Transfer-Encoding: Binary"); header("Content-length: ".$size); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=".urlencode($d).";"); set_time_limit(300); // If it's a large file, readfile might not be able to do it in one go, so: $chunksize = 1 * (1024 * 1024); // how many bytes per chunk if ($size > $chunksize) { $handle = fopen(pkDIRWWWROOT.$download, 'rb'); $buffer = ''; while (!feof($handle)) { $buffer = fread($handle, $chunksize); echo $buffer; ob_flush(); flush(); } fclose($handle); } else { readfile($download); } exit(); } | | | PHP-Code ENDE: (30 Zeilen) | Code markieren | |
Fertig
Nun können die Leute nachwievor von eurer Seite herunterladen. Allerdings nicht mehr von außerhalb direkt zu dem Ordner verlinkt.
Ich hoffe, das dies Einige gebrauchen können.
Gruß