php - from - file_get_contents no hay almacenamiento en caché?
get file from storage laravel (1)
Tu problema es que estás usando un recurso externo para cargar tu archivo. Una vez que se cargó, no tiene sentido enviar algunos encabezados a su cliente. Su imagen ya ha sido cargada (y eso fue memoria caché de un recurso externo).
Sin embargo, hay un truco fácil para resolver un problema. Supongamos que está usando algo como http://domain.com/path/to/image
en su $path
. Entonces solo hazlo:
$image = imagecreatefromstring(file_get_contents($path.''?''.mt_rand()));
-la idea es agregar algún valor aleatorio a la solicitud GET y evitar que se almacene en caché.
Estoy usando file_get_contents () para cargar una imagen dinámica desde un sitio web externo.
El problema es que la imagen se ha actualizado en el sitio web remoto, pero mi secuencia de comandos sigue mostrando la imagen anterior. Supongo que el servidor almacena en caché la imagen en algún lugar, pero ¿cómo puedo obligar al servidor a borrar el caché y usar la imagen actualizada al obtener el archivo con file_get_contents?
En mi máquina local, tuve que hacer CTRL + F5 para forzar la actualización de la imagen.
También intenté no agregar un encabezado de caché a mi script, pero no funcionó:
$image = imagecreatefromstring(file_get_contents($path));
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé
header(''Content-type: image/png'');
imagepng($image);
exit();