![]() |
Re: [PHP] Download-Counter
Holla, PW hab ich grad vorsichtshalber geändert :)
Aber der Script startet immernoch keinen Download. |
Re: [PHP] Download-Counter
Zitat:
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! :warn: Mfg, alcaeus[/edit] |
Re: [PHP] Download-Counter
@Markus: Lies readfile nicht eine Datei ein? Wenn ich deine Methode einbaue, fängt mein Browser an zu haken. Scheint ziemlich prozessorlastig zu sein ;)
|
Re: [PHP] Download-Counter
@vlees91: Kommt darauf an, wie groß eine Variable ist... :wink:
|
Re: [PHP] Download-Counter
@vlees91
warum schreibst du bunt ??? ebenfals sry für ot :P |
Re: [PHP] Download-Counter
So, nun wieder zurück zum Thema bitte.
|
Re: [PHP] Download-Counter
Es lässt sich sogar fast komplett transparent gestalten:
Ein Verzeichnis (z.B. /files), welches nur eine .htaccess enthält:
Code:
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() ).
RewriteEngine on
RewriteBase /files/ RewriteRule ^(.+)$ /download.php\?file=$1 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'; } ?> |
Re: [PHP] Download-Counter
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! :warn: Mfg, alcaeus[/edit] |
Re: [PHP] Download-Counter
Zitat:
|
Re: [PHP] Download-Counter
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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