Quote:
Originariamente inviato da cionci
La funzione è flush...
Setti il MimeType con header...
Incrementi un campo di un DB... Se il campo del DB è minore di quello che desideri allora inizi il download...
Leggi ad esempio 50 Kbyte dal file e poi invii i byte letti in output con echo...a questo punto fai un flush ed i 50 Kb vengono inviati al browser... A questo punto controlli se la connessione è sempre attiva con connection_status...
Nel caso tu abbia finito il file o la connessione non sia più attiva decrmenti un contatore del numero di connessioni nel DB...
|
Tu intendi una cosa del genere ??
header("Content-Type: Application/x-zip-compressed; name=".$nome);
header("Content-Disposition: attachment; filename=".$nome);
header("Content-Length: ".filesize($path));
header("Content-Location: ".$nome);
header("Content-Base: ".$nome);
while (!feof ($fp))
{
$buffer = fgets($fp, 65536);
print $buffer;
flush();
if ( !connection_status())
{
// Downlaod terminato o client disconnesso
}
}
fclose($fp);