PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Download über .php



SFX
09.08.2010, 23:47
Guten Abend.

Ich denke schon seit geraumer Zeit darüber nach mein System umzustellen und alle Downloads über eine .php umzuleiten um vor unerlaubtem Zugriff zu schützen, etc..

Die Dateien sind alle 2-5 MB groß, Downloader gibt es recht wenig, so 300 in ein paar Monaten..

Meine Frage ist nun wie stark sowas den Server belastet und 2. wie groß die Dateien maximal sein sollten, wegen der maximalen Scriptlaufzeit..

Ich habe mir nur gedacht dass es hier vielleicht jemanden gibt der mit sowas bereit ausführliche Erfahrungen gemacht hat

Mit freundlichen Grüßen
sfx

kalachnikov
10.08.2010, 00:21
Was hat denn die groesse der Datei mit der Scriptlaufzeit zu tun? (sry bin grad in den USA)

garwga
10.08.2010, 01:07
Dateigröße ist egal, Serverbelastung ist auch nicht grade erwähnenswerd.
Falls du ein Script suchst:


<?php
download("1a24f21s123f1d.rar","datei.rar");

function download($filename,$angezeigterfilename){
$filename = "/files/123asdf23/".$filename;

$filename = realpath($filename);
$file_extension = strtolower(substr(strrchr($filename,"."),1));

if (! file_exists( $filename ) )
{
die("NO FILE HERE");
}
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpe": case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=$angezeigterfilename;" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($filename));
@readfile("$filename") or die("File not found.");
exit();
}
?>

Sollte eigtl. selbsterklärend sein.
MfG,
garwga

SFX
10.08.2010, 17:36
Danke schonmal für die Antworten


Was hat denn die groesse der Datei mit der Scriptlaufzeit zu tun? (sry bin grad in den USA)

Wenn die Date so groß ist dass ich 6min zum Downloaden brauche aber eine maximale Scriptlaufzeit von 5min habe würde es ja nicht laufen, korrigiert mich bitte wenn ich da falsch liege..

Ich kann mir nämlich, jetzt wo du es sagst, auch sehr gut vorstellen dass es nicht so ist..


Sollte eigtl. selbsterklärend sein.

an der Umsetzung wäre es nicht gescheitert, ich wollte mich nur informieren bevor ich das ganze in Angriff nehme, trotzdem vielen Dank

Mit freundlichen Grüßen
sfx

kalachnikov
11.08.2010, 22:23
Das Downloaden einer Datei hat mit der Scriptlaufzeit nix zu tun, denn wenn du eine Datei von 700MB runterlaedst wie lange wuerde dann die Scriptlaufzeit betragen??\
Kurzum: DIe Scriplaufzeit schlaegt dann an wenn du Download-Button drueckst und nicht dann wenn du die Datei gerade ziehst.
vous comprenez?