Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unsichtbarer Counter? (https://www.delphipraxis.net/44000-unsichtbarer-counter.html)

Grolle 11. Apr 2005 22:01


Unsichtbarer Counter?
 
Hi!
Gibt es eine Möglichkeit einen unsichtbaren DownloadCounter einfach
in eine Webseite einzubinden?

SubData 11. Apr 2005 22:25

Re: Unsichtbarer Counter?
 
Sicher...


http://deineseite.de/download.php?datei=xyz.zip

in die PHP Datei schreibst dann einfach nur ne Weiterleitung auf die eigentlicha Datei und speicherst aber vorher noch ein +1 in ne Textdatei (Oder Datenbank etc. je nachdem wie umständig das werden soll)

Mystic 11. Apr 2005 22:31

Re: Unsichtbarer Counter?
 
Ich glaube er will das komplett transparent haben. Ich habe das bei mir so gemacht (geht nur für Apache-Webserver):

Nehmen wir an der Ordner mit den ganzen Dateien heisst files. Diesen Ordner benennst du um in sagen wir mal realfiles. Dann erstellst du einen neuen Ordner mit dem Namen files und einer einzigen Datei .htaccess mit folgendem Inhalt:
Code:
RewriteEngine on
RewriteBase   /files/
RewriteRule   ^(.+)$ /download.php\?file=$1
Danach erstellst du nur noch die download.php im Stammordner, die den Counter erhöht und die richtige Datei aus realfiles dann an den Browser schickt. Bei mir sieht die download.php so aus:
Code:
<?php
  require "dblogin.php"; // provides mysql_login() which calls mysql_connect with the proper arguments
 
  if ((IsSet($_GET["file"])) && (file_exists("realfiles/" . $_GET['file'])))
  {
    $filename = "realfiles/" . $_GET["file"];
    $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 {
    $host = $_SERVER["SERVER_NAME"];
    header("Location: http://$host/index.php");
  }
?>

Grolle 11. Apr 2005 22:41

Re: Unsichtbarer Counter?
 
Gibts da auch ne Möglichkeit ohne Php? Wird in meinem
Tarif noch nicht unterstützt.

SubData 11. Apr 2005 23:17

Re: Unsichtbarer Counter?
 
Perl... ASP ...

Du kannst übrigens die htaccess Dateien wahrscheinlich auch nicht benutzen, wenn dein Tarif schon kein PHP unterstützt.

Mystic 12. Apr 2005 00:14

Re: Unsichtbarer Counter?
 
Also ich konnte auch auf meinem Nicht-PHP Webspace .htaccess (mit mod_rewrite) benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz