Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/07/2010, 14:48
Avatar de maycolalvarez
maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Como refrescar pagina para mostrar imagen actual

puedes usar tu codigo normalmente, lo único que debes de cambiar es el src para que el navegador solicite la imagen a php y éste se encargue de expirar la caché, recuerda que las imágenes se solicitan al servidor después de cagar el DOM:

Código PHP:
<?php 
if (file_exists("../fotos/".$array['cedula'].".jpg")){
    echo 
"<img src='imageexpire.php?img=../fotos/".$array['cedula'].".jpg' border='0' width='120' height='150'>"
}else{
    echo 
"<img src='../fotos/sinfoto.jpg' border='1' width='120' height='150'>"
}  
?>
y como en el mismo script se verifica la existencia de la imágen puedes omitir esa parte en tu plantilla quedando:

imagexpire.php:
Código PHP:
//expirado la caché para imágenes
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
header("Last-Modified: " gmdate"D, d M Y H:i:s" ) . " GMT" ); 
header("Cache-Control: no-cache, must-revalidate" ); 
header("Pragma: no-cache" );

$imagen =  $_GET['img'];
if(
file_exists($imagen)){
    
//obteiendo la información de la ruta:
    
$info=pathinfo($imagen);
    
//especificando el tipo de salida:
    
header("Content-type: image/".$info['extension']);
    
readfile($imagen);
}else{
    
header("Content-type: image/jpg");
    
readfile('../fotos/sinfoto.jpg'); 

y en la plantilla:
Código PHP:
echo "<img src='imageexpire.php?img=../fotos/".$array['cedula'].".jpg' border='0' width='120' height='150'>"
o haces lo contrario y lo dejas como al principio te indique.

PD: usa <?php por motivos de estándar