Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di scar81
    Registrato dal
    Feb 2002
    Messaggi
    206

    Cache e immagini generate dinamicamente

    Non mi sono mai posto il problema, ma ora che il mio server dedicato non si tira più dietro a causa dell'eccessivo consumo di banda mi è venuto un dubbio atroce.
    Nei miei siti quando voglio far vedere un immagine piccola, e cliccandoci si apre la stessa più grande, ho in questo modo: l'immagine nel popup viene visualizzato direttamente, mentre il thumbnail così [img]immagine.php?file=foto.jpg&larghezza=200[/img]
    Il file immagine.php non è altro che uno script che ridimensiona la foto e la restituisce.

    Vedendo che la foto piccola si salvava nella cache di explorer ho sempre pensato che quest'ultimo non ricaricasse più la volta successiva la foto (ovviamente quando nelle opzioni è stata scelta l'opzione di utilizzo della cache). Mi sbagliavo o è così?
    Domini gratuiti
    Vendita online prodotti GNLD e AGEL

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ciao,

    prova a mettere nella pagina questo codice:

    Codice PHP:
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <
    META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    Utente di HTML.it L'avatar di scar81
    Registrato dal
    Feb 2002
    Messaggi
    206
    Forse non hai capito, io voglio che le immagini vadano in cache...
    Domini gratuiti
    Vendita online prodotti GNLD e AGEL

  4. #4
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Allora prova così....

    Codice PHP:
    <META HTTP-EQUIV="Pragma" CONTENT="cache"
    <
    META HTTP-EQUIV="Cache-Control" CONTENT="cache"


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  5. #5
    Utente di HTML.it L'avatar di scar81
    Registrato dal
    Feb 2002
    Messaggi
    206
    Quello è codice html, come posso metterlo nello script php immagine.php?
    Comunque ho provato a mettere la versione in php
    header("Pragma: cache");
    header("Cache-Control: max-age=300, must-revalidate");
    e impostando explorer con la cache automatica non funziona comunque, il file lo riscarica...
    Domini gratuiti
    Vendita online prodotti GNLD e AGEL

  6. #6
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Per metterlo in un file php basta che lo scrivi all'inizio del codice, basta che non sia tra i tag <?php e ?>

    Codice PHP:
    <META HTTP-EQUIV="Pragma" CONTENT="cache"> 
    <META HTTP-EQUIV="Cache-Control" CONTENT="cache">


    <?php

    //... tuo codice

    ?>


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  7. #7
    Utente di HTML.it L'avatar di scar81
    Registrato dal
    Feb 2002
    Messaggi
    206
    Il file php per essere chiamato da un [img][/img] non deve restituire nient'altro che l'immagine, non posso mettergli codice html prima...

    Per capirci, il codice è questo

    Codice PHP:
    <?
    Header
    ('Content-type: image/jpeg');
    header("Pragma: cache");
    header("Cache-Control: max-age=300, must-revalidate");

    if(
    $max_h==''$max_h=600;
    if(
    $max_l==''$max_l=800;

    $img_origem imagecreatefromjpeg($file);
    $larghezza_originale imagesx($img_origem);
    $altezza_originale imagesy($img_origem);

    $larghezza $larghezza_originale;
    $altezza $altezza_originale;

    if(
    $max_l<$larghezza) {
        
    $altezza=$max_l/$larghezza*$altezza;
        
    $larghezza=$max_l;
    }
    if(
    $max_h<$altezza) {
        
    $larghezza=$max_h/$altezza*$larghezza;
        
    $altezza=$max_h;
    }

    $img_destino imageCreateTrueColor($larghezza,$altezza);
    imagecopyresampled($img_destino,$img_origem,0,0,0,0,$larghezza,$altezza,$larghezza_originale,$altezza_originale);

    imageJPEG($img_destino,'',75);
    imagedestroy($img_origem);
    imagedestroy($img_destino);
    ?>
    Domini gratuiti
    Vendita online prodotti GNLD e AGEL

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 © 2024 vBulletin Solutions, Inc. All rights reserved.