AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Download-Counter

Ein Thema von MisterNiceGuy · begonnen am 6. Mär 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#11

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 14:11
Holla, PW hab ich grad vorsichtshalber geändert

Aber der Script startet immernoch keinen Download.
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 14:36
Zitat von Matze:
@Markus: Du solltest noch ein

Code:
mysql_free_result($result);
einbauen.
wozu ist das notwendig?
man setzt normale variablen ja auch net zurück

PS: sry für ot

[edit=alcaeus]Uebermaessige Verwendung des color-Tags entfernt. In Zukunft solche Schwachsinnigkeiten bitte unterlassen! Mfg, alcaeus[/edit]
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#13

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 14:46
@Markus: Lies readfile nicht eine Datei ein? Wenn ich deine Methode einbaue, fängt mein Browser an zu haken. Scheint ziemlich prozessorlastig zu sein
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#14

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 14:50
@vlees91: Kommt darauf an, wie groß eine Variable ist...
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#15

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 15:23
@vlees91
warum schreibst du bunt ???

ebenfals sry für ot
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 15:35
So, nun wieder zurück zum Thema bitte.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

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

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 15:43
Es lässt sich sogar fast komplett transparent gestalten:

Ein Verzeichnis (z.B. /files), welches nur eine .htaccess enthält:
Code:
RewriteEngine on
RewriteBase   /files/
RewriteRule   ^(.+)$ /download.php\?file=$1
Alle Anfragen à la /files/Datei123.exe werden dann intern nach /download.php?file=Datei123.exe umgeleitet. Das Skript kann dann den Counter für die Datei erhöhen und die echte Datei123.exe an den Client weiterleiten ( readfile() ).

Meine download.php:

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';
  }
?>
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 17:54
So ists auch gut finde ich
ich habs bisher immer wie oben genannt gemacht:
liste mit allen downloads in eine db (incl. downloadzahl)
dann über download.php?a=123 die zahl in der db aktualisiert
und die download.php schickt die datei automatisch zum user



OT: wie setzt man denn eine variable in PHP zurück?

[edit=alcaeus]Uebermaessige Verwendung des color-Tags entfernt. In Zukunft solche Schwachsinnigkeiten bitte unterlassen! Mfg, alcaeus[/edit]
vlees91
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 18:14
Zitat von Mystic:
Es lässt sich sogar fast komplett transparent gestalten:

Ein Verzeichnis (z.B. /files), welches nur eine .htaccess enthält:
Code:
RewriteEngine on
RewriteBase   /files/
RewriteRule   ^(.+)$ /download.php\?file=$1
Alle Anfragen à la /files/Datei123.exe werden dann intern nach /download.php?file=Datei123.exe umgeleitet. Das Skript kann dann den Counter für die Datei erhöhen und die echte Datei123.exe an den Client weiterleiten ( readfile() ).

Meine download.php:

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';
  }
?>
Sorry, ich fange gerade erst wieder an mich mit php &mysql zu beschäftigen... Was muss den in diesem fall in der "dblogin.php" alles drinstehen? Ich bekomm das gerade nicht ganz auf die Reihe...
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#20

Re: [PHP] Download-Counter

  Alt 6. Mär 2006, 18:19
Vorrausgesetzt, die Datei macht nicht mehr als den Datenbank-Login: Dann müsste es sich um zwei Funktionsaufrufe handeln.
mysql_connect mit Benutzername und Passwort zum Verbinden und mysql_select_db zum Auswählen der Datenbank.
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz