Download abbrechen

Download abbrechen

am 31.10.2006 10:00:23 von blauhut

Hallo allerseits,

ich verwende folgendes Skript um Downloads zu zählen:

function send_file($name) {
ob_end_clean();
if (!is_file($name) || connection_status()!=3D0)
return(FALSE);
set_time_limit(0);

header("Content-Type: application/zip");
header("Content-Length: " .(string)(filesize($name)) );
header('Content-Disposition: attachment; filename=3D"'.$name.'"');

if($file =3D fopen($name, 'rb')){
while( (!feof($file)) && (connection_status()==0) ){
print(fread($file, 1024*8));
flush();
}
fclose($file);
}
return((connection_status()==0) and !connection_aborted());
}

//*******************************
// Datei zum Client schicken
//*******************************

if (send_file("xyz.zip"))
{
log_download();
}

Das Skript funktioniert so wie es soll, die Datei wird richtig
heruntergeladen und der Download korrekt geloggt.

Wenn ich aber entweder den Dialog "Öffnen oder Speichern" abbreche
oder dann beim Speichern den "Speichern unter..."-Dialog schließe ohne
zu speichern wird zwar nichts auf die Platte geschrieben, das Skript
hat aber trotzdem einen korrekten Download geloggt.

Sieht also so aus, als würde die Datei schon direkt in einem Rutsch
mitgeschickt (sind nur ca. 70 kB). Gibt es eine Möglichkeit, den
Server dazu zu bringen nach dem Schicken der Header auf ein Signal des
Clients zu warten bevor die Datei in den Ausgabepuffer geschrieben
wird?

Gruß,
Thorsten

Re: Download abbrechen

am 31.10.2006 10:28:23 von Martin Kaffanke

Am Tue, 31 Oct 2006 01:00:23 -0800 schrieb blauhut:

> Sieht also so aus, als würde die Datei schon direkt in einem Rutsch
> mitgeschickt (sind nur ca. 70 kB). Gibt es eine Möglichkeit, den
> Server dazu zu bringen nach dem Schicken der Header auf ein Signal des
> Clients zu warten bevor die Datei in den Ausgabepuffer geschrieben
> wird?

Ich bin nicht sicher, aber ich dachte immer, das läge am Browser, der
bereits die Datei im Hintergrund downloaded, während ich noch entscheide,
wo ich es überhaupt hin speichern will. Das spart mir auch Zeit...

Weiß nicht ob du das Serverseitig ändern kannst.

lg,
Martin

Re: Download abbrechen

am 31.10.2006 11:50:03 von Ulf Kadner

blauhut schrieb:

^^Gib hier mal Bitten Deinen Vor und Nachname an. Gehört sich so!

> Sieht also so aus, als würde die Datei schon direkt in einem Rutsch
> mitgeschickt (sind nur ca. 70 kB). Gibt es eine Möglichkeit, den
> Server dazu zu bringen nach dem Schicken der Header auf ein Signal des
> Clients zu warten bevor die Datei in den Ausgabepuffer geschrieben
> wird?

Darauf hast Du keinerlei Einfluss mit PHP oder anderen Serverseitigen
Sprachen.

MfG, Ulf