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

    xché le immagini non si aggiornano?

    Ciao a tutti, ho implementato un sistema php per permettere ad utenti iscritti di gestire una propria galleria di immagini.
    In particolare, nell'area riservata possono accedere ad una pagina che visualizza le miniature delle immagini presenti in galleria, permettendo di crearne una nuova, cambiare un'immagine, eliminare, o scambiare di posto due immagini (in modo da cambiare l'ordine).

    Il problema è nello scambio: per implementare la richiesta di scambio ho usato due semplici menù a tendina numerati. Quindi ho fatto una funzione che, partendo dai numeri delle 2 immagini, scambia i nomi dei file immagine (sia della img normale, sia del thumbnail).
    Tutto funziona in locale; in remoto però funziona "per metà": in pratica le modifiche sul server avvengono (i nomi dei files vengono scambiati), ma il browser non aggiorna le due immagini!
    O ne aggiorna una sola (e quindi vedo due immagini uguali) oppure tutto rimane visivamente uguale. Dapprima ho pensato ad un errore di programmazione, ma poi ho controllato e i files nel server sono effettivamente stati scambiati ma il browser NON LO RILEVA!!
    Come prova, se da i.e. vado nelle impostazioni, cancello i files temporanei ed aggiorno la pagina, le immagini vengono caricate correttamente.

    Come fare a risolvere il problema? O più in particolare, come far capire al browser che deve ricaricare l'immagine?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non è detto che si risolva, però, potresti provare intanto a dire al browser di non salvare la pagina in cache, con

    http://forum.html.it/forum/showthrea...ragma+no+cache
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Spesso i no-cache sono inutili perche' i browser cercano di essere piu' furbi di te. Nel caso anche gli header fallissero, l'unica e' impostare l'url con un numero random che viene ignorato, tipo:

    [img]showimage.php?id=40&rand=2394823[/img]
    There are 10 types of people in the world - those who understand binary and those who don't.

  4. #4
    Originariamente inviato da frinkia
    Spesso i no-cache sono inutili perche' i browser cercano di essere piu' furbi di te. Nel caso anche gli header fallissero, l'unica e' impostare l'url con un numero random che viene ignorato, tipo:

    [img]showimage.php?id=40&rand=2394823[/img]
    ma il fatto è che le immagini ci sono staticamente sul server, cioè non vengono implementate dinamicamente da una pagina php.
    Ciò che fa il php è scambiare i nomi di due files:

    rename($nome1, "nometemp");
    rename($nome2, $nome1);
    rename("nometemp", $nome2);

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    ma hai provato come ha detto frinkia? di solito così funziona
    codice:
    $numero_casuale = time() ;
    
    <img src=\"nome_immagine.jpg?$numero_casuale\">
    Errare humanum est, perseverare ovest

  6. #6
    Originariamente inviato da carlo2002
    ma hai provato come ha detto frinkia? di solito così funziona
    codice:
    $numero_casuale = time() ;
    
    <img src=\"nome_immagine.jpg?$numero_casuale\">
    ho testato e funziona!

    Il rovescio della medaglia è che le immagini verranno ricaricate sempre...vabè nn si può ottenere tutto!

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da cicciox80
    Il rovescio della medaglia è che le immagini verranno ricaricate sempre...vabè nn si può ottenere tutto!
    Diciamo che non è un rovescio da poco.
    In effetti non mi pare brillantissima l'idea di scambiare i nomi dei file. Non ho capito se usi un database (mi pare di no), ma memorizzare l'ordine su una tabella sarebbe stato più consigliabile, secondo me.

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.