Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problema con la cache

  1. #1

    Problema con la cache

    Salve a tutti.
    Ho questo problema legato alla cache del browser e spero che possiate aiutarmi.

    Attraverso uno script php genero un file PDF che viene poi salvato all'interno del server ed è raggiungibile con una URL (es: "http:///www.pippo.it/pdf/ciao1.pdf").
    Il file contiene un preventivo, e quindi cambiando i dati del preventivo, alla prossima generazione cambierà anche il contenuto del file PDF.

    Una volta salvato il file attraverso una istruzione javascript, apro un popup verso la url del file
    codice:
    window.open('http:///www.pippo.it/pdf/ciao1.pdf','PDF','')
    Il mio problema è che spesso il browser (IE) mi mostra una versione del PDF non aggiornata, riprendendomi evidentemente il file "ciao1.pdf" dalla sua cache.


    Poichè nel popup aprò direttamente il PDF non posso mettere istruzione HTML(meta) o PHP per prevenire l'utilizzo della cache.
    Come posso risolvere allora questo problema?

    Grazie in anticipo per qualunque aiuto.

  2. #2
    Ciao probabilmente dovresti inserire l'headerCache-Control...

    l'esempio di php.net
    http://php.net/manual/en/function.header.php

    Codice PHP:
    <?php
     header
    ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
     
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
    ?>

  3. #3
    Grazie per la risposta,
    ma inserirlo dove?

    Il Popup viene aperto su: http:///www.pippo.it/pdf/ciao1.pdf
    quindi direttamente sul file .pdf, e non su una pagina html o PHP.

    Ho provato a mettere le istruzioni per la gestione della cache di PHP sulla pagina principale che poi apre il popup ma come pensavo non è cambiato nulla.



    Riuscite a darmi qualche altro consiglio?

  4. #4
    ma il file pdf è creato dinamicamente tramite php?
    Se si, devi inserirlo all'inizio del file php...

    Altrimenti non ho idea.

  5. #5
    Il file PDF viene creato con PHP, dopodichè viene salvato sul server come un qualunque altro file PDF.

    Come faccio a mettere istruzioni PHP su un file .pdf?

  6. #6
    non puoi cambiare di volta in volta, ad ogni modifica, anche il nome del file? oppure il nome è vincolato (ad esempio deve corrispondere a <numero preventivo>.pdf)?

  7. #7
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Puoi fare cosi se conosci la data di creazione o modifica

    Codice PHP:
    window.open('http:///www.pippo.it/pdf/ciao1.pdf?<?=strotime($data)?>','PDF','')
    In questo modo si forza la modifica della cache

  8. #8
    Originariamente inviato da kakashi
    Puoi fare cosi se conosci la data di creazione o modifica

    Codice PHP:
    window.open('http:///www.pippo.it/pdf/ciao1.pdf?<?=strotime($data)?>','PDF','')
    In questo modo si forza la modifica della cache
    interessante.. ma a quel punto non penso sia rilevante la data, può bastare un qualsiasi parametro aggiuntivo, anche un uniqid() giusto?

  9. #9
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    si, io ti ho suggerito la data non non farti azzerare le cache ogni volta che si aggiorna la pagina, ma solamente quando il dato effettivamente cambia.

  10. #10
    Grande, Ottima idea...
    Che stupido, non ci avevo proprio pensato.

    Grazie.

    Domani provo subito, e vi faccio sapere ....

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.