FAQ
Buenos Dias:

Tengo un pequeño problema, tengo un codigo en php que sube imagenes de
fichas, en el mismo codigo hay una opcion para modificar la imagen de la
ficha, que lo que hace es que subir otra imagen con el mismo nombre que la
que hay, el problema es que cuando esto ocurre,aunque se haya sobreescrito
la imagen muestra la anterior ya que sigue almacenada en la cache, habria la
posibilidad de que cogiera la nueva imagen subida y no la antigua???

Un Saludo.


Vicente J. Sanchez
--------------------
[email protected] e-studios
Dpto Desarrollo
[email protected]
Tlf: 96 668 04 96
Fax: 96 540 60 15

Search Discussions

  • LaRanaBudWeisEr at May 13, 2003 at 10:29 am
    Hola Vicente,

    Puedes probar a forzar al navegador a que se salte las cachés, te doy unos
    headers que harán que el navegador "siempre" consulte al servidor, pasando
    de las cachés:

    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Fecha en
    el pasado
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //
    La página está siendo modificada siempre
    header ("Cache-Control: no-cache, must-revalidate"); // Saltar el
    caché en HTTP/1.1
    header ("Pragma: no-cache"); // Saltar el
    caché en HTTP/1.0

    Espero que te sirva

    Un Saludo.
    __________________________________________________

    Jose Antonio Rios

    EasySQL - http://www.easysql.net
    CiberBell - http://www.ciberbell.net
    TheWebAnimals, S.L. - http://www.thewebanimals.com
    __________________________________________________


    -----Original Message-----
    From: Vicente Sanchez
    Sent: martes, 13 de mayo de 2003 12:13
    To: [email protected]

    Buenos Dias:

    Tengo un pequeño problema, tengo un codigo en php que sube imagenes de
    fichas, en el mismo codigo hay una opcion para modificar la imagen de la
    ficha, que lo que hace es que subir otra imagen con el mismo nombre que la
    que hay, el problema es que cuando esto ocurre,aunque se haya sobreescrito
    la imagen muestra la anterior ya que sigue almacenada en la cache, habria la
    posibilidad de que cogiera la nueva imagen subida y no la antigua???

    Un Saludo.


    Vicente J. Sanchez
    --------------------
    [email protected] e-studios
    Dpto Desarrollo
    [email protected]
    Tlf: 96 668 04 96
    Fax: 96 540 60 15



    ---------------------------------------------------------------------
    Archivo On-line: http://www.phpes.com/
    via news: news://news.phpes.com/
    Manual PHP en español: http://www.php.net/manual/es/ Para dar de baja la
    suscripción, mande un mensaje a:
    [email protected]
  • Vicente Sanchez at May 13, 2003 at 11:12 am
    Gracias
  • Isaacs at May 13, 2003 at 10:54 am

    Tengo un pequeño problema, tengo un codigo en php que sube imagenes de
    fichas, en el mismo codigo hay una opcion para modificar la imagen de la
    ficha, que lo que hace es que subir otra imagen con el mismo nombre que la
    que hay, el problema es que cuando esto ocurre,aunque se haya sobreescrito
    la imagen muestra la anterior ya que sigue almacenada en la cache, habria la
    posibilidad de que cogiera la nueva imagen subida y no la antigua???
    una solución-chapuza es añadirle al nombre de la imagen un "?" seguido de una cadena aleatoria. esto hace que el navegador interprete que se trata de una imagen distinta a la que ha almacenado en la caché. un ejemplillo:


    $ruta_imagen.="?".time(); //yo utilizo como parte "aleatoria" un timestamp, puedes sustituirlo por la cadena que quieras.
    ?>
    <img src='<?php echo $ruta_imagen?>' ... >
  • Luis Lorente at May 13, 2003 at 1:11 pm

    Tengo un pequeño problema, tengo un codigo en php que sube imagenes de
    fichas, en el mismo codigo hay una opcion para modificar la imagen de la
    ficha, que lo que hace es que subir otra imagen con el mismo nombre que la
    que hay, el problema es que cuando esto ocurre,aunque se haya sobreescrito
    la imagen muestra la anterior ya que sigue almacenada en la cache, habria la
    posibilidad de que cogiera la nueva imagen subida y no la antigua???
    Yo tuve el mismo problema, lo resolví forzando mediante el PHP (gracias a la
    función header() ) a que genere la imagen leyéndola del disco.Por ejemplo:

    <img src="MuestraImagen.php?path=path_imagen" />

    MuestraImagen.php: (puede que sobren algunos header() pero los puse pa
    asegurar y como funciona... :) )
    <?
    // PARAMETROS
    // $path

    if(strstr($path, ".gif"))
    $mime_type="image/gif";
    elseif(strstr($path, ".jpg")||strstr($path, ".jpeg"))
    $mime_type="image/jpeg";
    elseif(strstr($path, ".png"))
    $mime_type="image/png";
    elseif(strstr($path, ".swf"))
    $mime_type="application/x-shockwave-flash";

    // le decimos al navegador que la informacion que viene es un fichero y de
    que tipo es
    Header("Expires: Tue, 14 Mar 2000 05:00:00 GMT");
    Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    Header("Cache-Control: no-cache, must-revalidate");
    Header("Pragma: no-cache");
    Header("Content-type: $mime_type");

    // leemos la imagen y la enviamos al navegador
    readfile ($path);

    ?>

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedMay 13, '03 at 10:06a
activeMay 13, '03 at 1:11p
posts5
users4
websitephp.net

People

Translate

site design / logo © 2023 Grokbase