Seite 1 von 1

File Download realisieren

Verfasst: 05.06.2004 18:19
von chriz
Also folgendes:
Ich möchte in meinem Forum eine Seite einrichten, auf der wir eigene Soundfiles (mp3) zum Download anbieten. Das ganze soll einfach ohne grosse Spielereien statfinden. Ich möchte nur gerne den Traffic im Auge behalten, den die einzelnen Files verursachen...

Am coolsten wäre natürlich, wenn man zum Beispiel der Datei "MeinSong.mp3" einfach einen Trafficvolumen von 1 GB zuweisen könnte. Sobald das Limit erreicht wird, wäre die Dtei dann gesperrt. Das Trafficvolumen müsste dann erst wieder vom Webmaster auf 0 gesetzt werden...

Zweite Möglichkeit wäre, das in einem Downloadfenster der bereits verursachte Traffic der Datei angezeigt wird, um dann einfach rechtzeitig einschreiten zu können und die Datei manuell zu sperren.

Ist sowas zu realisieren?
Meine Suche nach entsprechenden PHP-Scripten war komplett erfolglos - verstehe allerdings nicht warum es solche Codes nicht gibt... Ist der verursachte Traffic (bzw. die entsprechende Datei) vom Kunden nicht auszulesen?

Achja: Der Download - Mod ist nicht mein Ding. Vielzu umfassend und auch vom Layout nicht für meine HP geeignet...

Kann mir irgendwer helfen? 8)

Verfasst: 06.06.2004 02:29
von Leuchte
Namentlich kenne ich kein Programm, aber du könntest dich u.a. bei http://www.phparchiv.de/pages/Dateimanager/ umsehen.
Oder auch andere x-beliebige Scriptseiten.
google is your friend ;)

Verfasst: 06.06.2004 02:34
von chriz
google is your friend
in diesem Fall nicht wirklich... :roll: hab mich schon zu Tode gesucht...

aber ich schau mir Deinen Vorschlag gleich an!

Verfasst: 06.06.2004 15:43
von chriz
Ich habe jetzt nochmal ne Stunde gesucht... Es gibt zwar nen Haufen Download Scripte, aber ich hab immer noch keines gefunden, das nach einem betimmten Trafficvolumen das Downloadfile blockt.
Nun gibt es viele files, die die Anzahl der Downloads zählen - aber auch hier habe ich kein Script gefunden, das nach zB. 30 Downloads das Downloadfile blockiert.

Ich habe jetzt ein Script gefunden, das sich "Download Logger" nennt. Dieser Code erlaubt angeblich nur Downloads von einer von mir definierten Seite aus, was ja sehr wünschenswert wäre.
Hier ist der Code des Programms:

Code: Alles auswählen

<?php
$domain         = "(www.mydomain.com)";   // The allowed IP or URL. Build your own regex if you need to.
$download_path  = "/download";            // The directory were your download files reside.
$download_files = array ("1.exe",         // List all your download files here.
                         "2.zip",
                         "3.rar");
$download_page  = "/downloads.php";       // Your download page.
$log            = TRUE;                   // Log access from disallowed referers or not.
$log_file_all   = "stats/allowed.log";    // The filename of the download log file.
$log_file_dis   = "stats/disallowed.log"; // The filename of the disallowed log file.

function is_allowed ($ref, $file) {
global $domain;
global $download_files;

    return ((preg_match ($domain, $ref)) && (in_array ($file, $download_files)));
}

function log_access ($ref, $ip, $time, $file, $log_file) {
global $domain;

    if (empty($ref)) {
        die ("<html><head><title>$domain</title></head><body><h2>Please enable sending of referer.<br>Bitte aktivieren Sie das Mitsendes des Referers.</body></html>");
    }
    $f = fopen ($log_file, "a");
    fwrite ($f, "$time, $ip, $ref, $file\n");
    fclose ($f);
}

if (is_allowed ($HTTP_REFERER, $argv[0])) {
    if ($log) {
        log_access ($HTTP_REFERER, $HTTP_SERVER_VARS['REMOTE_ADDR'], time(), $argv[0], $log_file_all);
    }
    header ("Location: $download_path/$argv[0]");
} else {
    if ($log) {
        log_access ($HTTP_REFERER, $HTTP_SERVER_VARS['REMOTE_ADDR'], time(), $argv[0], $log_file_dis);
    }
    header ("Location: $download_page");
}
?>
ich möchte jetzt einfach noch eine Variable definieren, die sich pro Download um den Wert 1 erhöht. Bei einem Wert von 30 soll der Download dann blockiert werden...
Kann mir da jemand helfen? (bin absoluter PHP Laie)

Und noch ne Frage... :wink:
Verursacht dieses Script irgendwie extra Belastung für meinen Download Traffic?

Falls sich jemand Zeit für dieses Problem hier nimmt - schon mal vielen Dank im Voraus! 8)

Verfasst: 07.06.2004 23:56
von chriz
ok - ich schieb das ganze jetzt nochmal hoch - da ich immer noch nicht weiter gekommen bin... :oops:

letzter Versuch!

Verfasst: 08.06.2004 21:33
von chriz
nachdem ich nochmal ne stunde in google investiert habe, gibt's etwas Licht am Horizont: Monthly bandwidth limiter and download counter script by StatMat - v1.2 - 08/07/2003

dieses Programm verspricht genau das, was ich möchte!... :grin:

jetzt gibt es nur folgendes Problem: Im obigen Link erhält man den Quellcode - in dessen Kopf ist ein Link angegeben: http://px.sklar.com/code.html?id=976&fmt=pl um das .zip runterladen zu können. Der Link ist aber tot...
Auch der Link für die admins ist defekt...

jetzt habe ich folgende Frage: ist der Quellcode ausreichend? - und ist der Quellcode eine eigene php-Seite oder muss ich den Code nur in meine eigene Download seite integrieren????

Fragenn über Fragen - aber vielleicht erbarmt sich ja jemand und wirft nen kurzen Blick darauf... Danke schonmal! 8)

hier nochmal der Link: http://px.sklar.com/code.html?id=976&fmt=pl

Verfasst: 08.06.2004 21:41
von Christian_W
Den Quelltext als download.php abspeichern. Das ist dann dein Downloadmanager. Die Links sind als Beispiel gedacht wie er verwendet wird. Also die Links an Deine URL und Datei anpassen.

Gruß Christian

Verfasst: 08.06.2004 22:04
von chriz
ok! Vielen Dank! Werde das Ganze dann mal austesten...
das .php file lege ich dann am besten in's root verzeichnis, oder?

Verfasst: 08.06.2004 22:44
von Fabse
ja

Verfasst: 08.06.2004 23:22
von chriz
was mir noch nicht ganz klar ist: in diesem erstellten .php file realisiere ich auch den ganzen rest der Page - oder erstelle ich einfach eine eigene Page für meine Dowloads und rufe dann von dort dieses php skript auf???

versteht jemand was ich meine?