Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, fiz um sistema para alteração dos dados de um produto em um site. O usuário pode alterar tudo sobre o produto e a foto também. beleza tudo funcionando porem como a foto antiga já esta em cache o thumbnail da foto que aparece no formulário de edição do produto continua mostrando a foto antiga e só muda para a nova depois de limpar o cache. Tem jeito de fazer isso automaticamente?
Pois é, eu estou usando o header para redirecionar para a pagina anterior onde o visitante escolhe o produto que vai editar porem mesmo assim não limpa.
mas nao é usar para redirecionar o header é usado para muita coisa olha no manual:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
a ta saquei... Muito obrigado.
Mas aqui fabiyo não ta funcionando, não da erro mas não limpa o cache... Fiz igual ao que está no manual do php você sabe explicar ou se ta faltando alguma coisa?
O código está mais ou menos assim:
if(!$upload_erro && move_uploaded_file($arquivo_temporario, $nomecompleto)) { $updateSQL = "UPDATE pecas SET pecas_img = '".$nomecompleto."', pecas_img_thumb = '".$nomethumb."' WHERE pecas_id = ".$id_peca; $result = mysql_query($updateSQL, $db_connection) or die(header("Location: $erro")); reduz_imagem($nomecompleto, 640, 480, $nomecompleto, 80); reduz_imagem($nomecompleto, 120, 90, $nomethumb, 80); header("Cache-Control: no-cache, must-revalidate"); header("Location: $sucesso"); }
coloca os header no começo das paginas
Tem hora que atualiza e tem hora que não mas deve ser assim mesmo. Coloquei na primeira linha da página o <?php header("Cache-Control: no-cache, must-revalidate"); ?> . É isso mesmo?
coloca as outras opções do header exemplo:
header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, cachehack=".time());
header("Cache-Control: no-store, must-revalidate");
header("Cache-Control: post-check=-1, pre-check=-1", false);estranho... deu na mesma.
Ta assim ó:
<?php header("Pragma: no-cache");header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: no-cache, cachehack=".time());header("Cache-Control: no-store, must-revalidate");header("Cache-Control: post-check=-1, pre-check=-1", false); ?><?php $caminho = 'http://'.$_SERVER['SERVER_NAME'].'/site_novo/'; ?><?php require_once('../conexao/connpaco.php'); ?><?php require_once('adm_autentica.php'); ?><?phpif (!isset($_SESSION)) { session_start(); }...Não cara, isso não se aplica ao meu, essa função serve para destroir uma imagem depois de criada, isso é para quando você desenha ou altera uma imagem com o php... Isso não resolve, para fazer oque quero é oque o Fabyo falou mas não consigo fazer funcionar direito isso. Já tinha tentado antes mas nunca consegui não sei pq.
Daniel use os header umas paginas antes e na pagina que você esta trocando as imagens
e depois limpa o cache só pra testar e ver se ta ok
é só colocar no começo da página ?
<?php
header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, cachehack=".time());
header("Cache-Control: no-store, must-revalidate");
header("Cache-Control: post-check=-1, pre-check=-1", false);
?>
??
Oi Daniel.
Também não consegui com PHP, mas se fizer o redirecionamento simples com JavaScript vai dar certo.
<script language= "JavaScript">
location.href = "[http://www.seusite.com.br";](http://www.seusite.com.br)
</script>
use header() - olha no manual do php