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

    [PHP] Gestire immagini con Output Buffer di PHP

    Ciao,
    sulla gestione delle immagini ad accesso ristretto una soluzione diffusa è quella di inserirle in DB come dato BLOB.

    Tuttavia questa soluzione presenta dei limiti legati allo spazio del DB, o nel caso in cui (per preservare le prestazioni) non si voglia sovraccaricare il DB engine.

    A tal proposito ho pensato di usare PHP per leggerne in contenuto e restituirlo in output buffer.
    Mi chiedo però: è questo uno spreco ancor peggiore in termini di RAM e prestazioni del server?
    Ci sono ulteriori rischi? (Overflow, etc...)

    (Ad esempio un bug conosciuto è questo: http://www.securityfocus.com/bid/11992).
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  2. #2
    Puoi ridurre al minimo il carico del server disabilitando l'output buffering ed implementando in PHP la funzione readfile().

  3. #3
    Originariamente inviato da filippo.toso
    Puoi ridurre al minimo il carico del server disabilitando l'output buffering ed implementando in PHP la funzione readfile().
    Grazie mille!

    Ho cercato sul manuale readfile e ho trovato l'esempio che dopo gli headers usa:
    Codice PHP:
        ob_clean();
        
    flush();
        
    readfile($file); 
    Veramente non capisco l'uso di flush() prima di readfile; flush fa mollare la presa del PHP sull'output buffer (potevo dirlo più tecnicamente ma è più bello detto così), per cui non capisco come fa readfile ad inviare dati (è sempre un buffer di dati) se il flush è stato richiamato.

    Proverò, grazie ancora.
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

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.