Salve a tutti.
Basandomi su varie fonti ho costruito uno script per il download di un file via php. Stò lavorando in locale, e tutto funziona.
Il problema è che una volta accettato il download, questo impiega svariati secondi prima di partire, per poi scaricare istantaneamente il file (di dimensioni ridotte).
Temendo fosse causato da PearDB, ho riscritto la stessa cosa interfacciandomi direttamente con MySql, ma nisba.
Da cosa può essere derivato secondo voi?
In sostanza, il succo dello script è questo:
codice:
[...]
$db = mysql_connect($host,$user,$pass);
mysql_select_db($db_name,$db);
$query = "SELECT size, path FROM files WHERE id = ".$_GET['id'];
$result = mysql_query($query, $db);
while ($row = mysql_fetch_assoc($result)) {
$filename = &basename($row['filepath']);
$content = &file_get_contents($row['filepath']);
header( 'Content-Type: application/octet-stream' );
header( 'Content-Disposition: attachment; filename="'.$filename.'"' );
header( 'Content-Length:'.$row['filesize'] );
header( 'Content-Transfer-Encoding: binary' );
echo $content;
[...]
Ovviamente senza passare dal DB il tutto è istantaneo...
Grazie