Portal > Foren > PHP > PHP-Programmierung > Wie erfolgreiche Downloads zählen?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 12.07.2007, 18:36 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 12.07.2007
Beiträge: 4
Standard Wie erfolgreiche Downloads zählen?

ich benötige ein skript, dass bei Downloads nur die erfolgreichen downloads zählt.
Das untere skript zählt war auch aber bereits beim start des downloads.
Wie kann ich das skript ändern, dass nur abgeschlossene Downloads getestet werden.
Die if bedingung bei eb_end_flush() oder flush() hat nicht geholfen.
Danke für die Hilfe
Chris

PHP-Code:
   $headers   = array(
        
'Content-Type'  => 'application/x-octetstream',
        
'Pragma'        => 'cache',
        
'Cache-Control' => 'public, must-revalidate, max-age=0',
        
'Accept-Ranges' => 'bytes',
        
'X-Sent-By'     => 'PEAR::HTTP::Download'
    
);
 
$file_name $filename.".".$path_value['extension'];
$disposition    HTTP_DOWNLOAD_ATTACHMENT;
$cd $disposition.'; filename="' $file_name '"';
$headers['Content-Disposition'] = $cd;
$content_type mime_content_type($download_path);
$headers['Content-Type'] = $content_type;
foreach (
$headers as $key => $val
{
 
header($key .': '$val);
}
if (
readfile($download_path))
{
 
//SQL statement to insert download_count in DB
}
ob_end_flush();
flush(); 

Geändert von Jann Hendrik (12.07.2007 um 18:51 Uhr) Grund: php-tag hinzugefügt
chgozdz ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.07.2007, 18:52 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.367
Standard

@chgozdz: bitte beim nächsten Mal die php-tags benutzen!
Danke.

bzw: willkommen im Forum!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.07.2007, 19:24 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

Hm, ist das überhaupt möglich?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.07.2007, 19:44 Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 304
Standard

Ja.
PHP-Code:
$fp fopen($download_path,"rb");
    while(!
feof($fp)){
        
set_time_limit(0);
        print(
fread($fp,1024*8));
        
flush();
        
ob_flush();
    }
    
fclose($fp);
    
//Erfolgreicher Download... SQL-blubb 
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.07.2007, 19:47 Nach oben    #5
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.367
Standard

@chgozdz: Hast du das mal ausprobiert? Funktioniert das bei dir?
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.07.2007, 05:09 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 31.05.2006
Beiträge: 24
Standard

Resuming ist damit allerdings unmöglich und bei einem CRC ist "erfolgreicher Download" relativ.
KingCrunch ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.07.2007, 01:14 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 12.07.2007
Beiträge: 4
Standard

bin erst heute dazu gekommen es auszuprobieren.

und es funktioniert
Danke

p.s. meine version hat heute ebenfalls funktioniert. Warum weiß ich aber auch nicht
chgozdz ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.07.2007, 13:06 Nach oben    #8
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
Standard

war die datei vielleicht zu groß und hat damit einfach php max_execution-time überschritten ? auf dem weg sind downloads halt auf diese Zeit begrenzt.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.07.2007, 14:45 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 12.07.2007
Beiträge: 4
Standard

nein, das ist nicht der fall. und daran kann es auch nicht liegen da ursprünglich direkt beim aufruf des downloads schon hochgezählt wurde.
chgozdz ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2007, 22:13 Nach oben    #10
Neuer Benutzer
 
Registriert seit: 12.07.2007
Beiträge: 4
Standard

tja, leider hat es doch nicht funktioniert.
Der test fand mit einer recht großen datei statt.

Bei readfile() oder fopen() wird die Datei erstmal ausgelesen. Da die Datei sehr groß war hat es lange gedauert bis sie ausgelesen wurde und der status in der Datenbank sich geändert hat.
Dabei ist es vollkommen egal ob der Kunde die Datei downgeloaded hat - es zählt nur, dass die Datei ausgelesen wurde.

Damit funktionieren beide varianten nicht.

Hat jemand noch eine Idee?

Gruß
Chris
chgozdz ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2007, 15:43 Nach oben    #11
Neuer Benutzer
 
Registriert seit: 04.08.2006
Beiträge: 1
Standard

Es funktioniert deshalb nicht, da nicht PHP die Datei sendet sondern Apache/der httpd denk ich mal. Nen einfachen httpd in PHP schreiben oder vielleicht auch ne vorgefertigte Klasse benutzen, dann sollte es funktionieren.
Thomas ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2007, 16:15 Nach oben    #12
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
Standard

Zitat:
Zitat von Thomas Beitrag anzeigen
Es funktioniert deshalb nicht, da nicht PHP die Datei sendet sondern Apache/der httpd denk ich mal. Nen einfachen httpd in PHP schreiben oder vielleicht auch ne vorgefertigte Klasse benutzen, dann sollte es funktionieren.
Wieso sollte das nicht funktionierne ? PHP läuft ja als Modul oder cgi und gibt die Daten weiter und nach der ausgabe sollte ja ohne probleme noch php-seitig ne ausgabe möglich sein, sieht man ja, wenn man mal ein script hat was 10 sekunden oder mehr läuft und während es läuft debugausgaben über flush(); macht.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zählen eines Ausdrucks innerhalb eines Strings (PHP) Binary PHP-Programmierung 12 05.09.2006 12:57
Ameisen zählen Schritte zur Orientierung Homepagespeicher Plauderecke 2 16.07.2006 17:12
Webspace für Downloads Jan Gesuche 2 30.05.2006 09:32
Auf 3 zählen, br ?!.. source PHP-Programmierung 9 12.02.2006 18:57
[PHP] Download-Skript, Downloads mit download.php?id=x Corvin Tutorials 0 28.11.2005 16:28


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45