webmaster resource
+ Webmaster Forum von Webmaster-Resource.de » Webcoding » Webserver (Moderator: Zabi)
|-+ Hilfe.
Username:
Password:

Seiten: [1]
Topic Tools  
Read 21. November 2006, 17:33:10 #0
m2andyou

Hilfe.

Hallo.
Bräuchte mal eure Hilfe.

1. Problem
Ich hab Dateien auf dem Server die sollen nur zum runterladen sein. Da kann man doch in der mime.types eine zeile anlegen die die nur zum Downloaden zulässt.

_____mime.types______
application/x-otrkey .otrkey

Server neustarten dann sollte es gehn. tuts aber leider nicht.

2. Problem
Ich muss ne Download limitierung hinbekommen. Hab da schon was von Proftpd und von mod_cband hab beides mal installiern wollen aber da kam nix raus. Wäre sehr nett wenn mir da jemand unter die Arme greifen könnte.

Danke schonmal
Offline  
Read 21. November 2006, 18:22:46 #1
Daniel

Re: Hilfe.

HI, ich verwende PHP um den Speed künstlich zu begrenzen.
Hier ein Beispiel (nicht getestet)
Code:
<?php
//die Datei
$file='/der/lange/weg/zu/mein_archiv.rar';

$fp=fopen($file,"r");

$filename=basename($file);

$extget_temp explode(".",$filename);

$anzahl_punkt=count($extget_temp);

$extget=$extget_temp[$anzahl_punkt-1];

$filesize filesize($file);

//MimeType festlegen
$type='application/x-rar-compressed';

//Die Downloadgeschwindigkeit sollte ein Vielfaches von 8 sein!!!! 
$sp_limit=64

$disposition = ($extget != "zip") ? 'attachment' 'inline';

header("Content-Disposition: $disposition; filename=".$filename."\n");
header("Content-Type: ".$type."\n");
header("Cache-Control: no-cache, post-check=0, pre-check=0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
header("Last Modified: ".gmdate("D, d M Y H:i:s")."GMT\n");
header("Expires: 0\n");
header("Content-Length: ".$filesize."\n\n");


while(!
feof($fp)){

set_time_limit(30); 
print(fread($fp,$sp_limit*8));
flush();
sleep(1); //in diesem Beispiel werden 64kb Daten ausgegeben, dann eine Sek. warten, etc...
   
}

?>

Für $file kannst Du auch folgendes angeben:
Code:
$file='ftp://MEINFTPPASSWORT:MEINFTPUSERNAME@meinftp.de/meinedatei.rar';
Dann für $fp
Code:
$fp=($file,"rb");
In dem Fall mußt Du jedoch die Dateigröße / Name / Endung manuell angeben.

Hat den Vorteil, dass man ja über den FTP-Server den max-Uploadspeed steuern kann, also was alle User zusammen bekommen sollen. Man kann damit auch den FTP-Backupspace(Strato, Server4you oder 1und1) als Downloadspace benutzen.

Viel Erfolg damit.

Daniel
« Letzte Änderung: 22. November 2006, 05:14:24 von Daniel »

Offline  
Seiten: [1]
Gehe zu: