Einzelnen Beitrag anzeigen

Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: PHP - FileDownload Counter implementieren ohne DB

  Alt 26. Jun 2005, 15:41
Bei meiner Homepage mache ich das so:

Einen Ordner 'files' der nur eine .htaccess enthält:

Code:
RewriteEngine on
RewriteBase   /files/
RewriteRule   ^(.+)$ /download.php\?file=$1
Einen Ordner 'realfiles' der dann die Dateien enthält.

Eine download.php im Stammverzeichnis:

Code:
<?php
  $filename = 'realfiles/' . $_GET['file'];
  if (IsSet($_GET["file"]) && file_exists($filename) && strpos($filename,'../') === false)
  {
    require 'dblogin.php';
    $dbh = mysql_login();
    mysql_select_db('danny');
    $stats_query = "SELECT count FROM downloads WHERE file='" . $_GET['file'] . "'";
    $stats_result = mysql_query($stats_query);
    if (mysql_num_rows($stats_result) > 0)
    {
      $stats_array = mysql_fetch_assoc($stats_result);
      if ($stats_array['count'] !== null)
      {
        $stats_query = "UPDATE downloads SET count = count + 1 WHERE file='" . $_GET['file'] . "'";
        mysql_query($stats_query);
      }
    }
    mysql_close($dbh);
    header('Content-type: application/force-download');
    header('Content-length:' . filesize($filename));
    readfile($filename);
  } else {
    header('Status: 404 Not Found');
    chdir('errors');
    require '404.php';
  }
?>
Das Ergebnis ist ein komplett transparenter Downloadcounter. Wenn der Client die Datei /files/abc.def anfragt, wird das intern auf /download.php?file=abc.def umgeleitet. Das Skript erhöht dann den Counter für die Datei um 1 (per MySQL) und schickt die Datei /realfiles/abc.def an den Client.

Zitat von Sergej:
mach einfach ne Weiterleitung auf die Datei

Code:
<?php
print "<meta http-equiv=\"refresh\" content=\"0; URL=http://mein.host/meine.datei\">";
?>

Greetz Sergej
Wenn es schon eine Weiterleitung sein muss dann aber per
Code:
header("Location: http://mein.host/meine.datei");
und nicht per meta-refresh.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat