Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [PHP+MYSQL]] - Download del file troppo lento

    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

  2. #2
    prova a vedere quanto tempo impiega la query ad essere eseguita

    ciao

  3. #3
    0.00029, 0.00027, 0.00026, 0.00026....
    il problema nn è la query

  4. #4
    $row['filesize']

    questo campo nella query non lo prendi
    SELECT size, path.....

    magari si incasinano gli header

  5. #5
    $row['filepath'] :master:

    anche questo però

  6. #6
    Si scusa, ho copia/incolla/trascritto male....quelli presi con la query poi li infilo nell'header con lo stesso nome, sorry

    Tanto per essere + esaustivi, ho su Apache 1.3, Php 4.3 e MySql 4.1.9

    Il codice è talmente breve che proprio nn riesco ad individuare la falla....

  7. #7
    UP

    Nessuno ha un'idea?

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.