Pergunta

Estou usando este rotador de imagem.É ótimo, mas se eu criar um link para ele várias vezes em uma página, ele exibirá a mesma imagem.Não sei quantas vezes ele será acessado, portanto, usar vários scripts idênticos é impraticável. Como modifico este script para que possa obter uma imagem diferente em outro lugar na página enquanto uso o mesmo url?É possível?

EDITAR: Acontece que deve ter havido algum problema com a codificação.Encontrei um código melhor aqui e funciona se eu usar consultas diferentesem cada link.Obrigado a todos que enviaram respostas!

Foi útil?

Solução

Passe uma string de consulta diferente para cada instância para que o navegador a recupere várias vezes.

Seu navegador está percebendo que cada imagem "girada" usa o mesmo URL, portanto, armazena em cache a imagem resultante da primeira solicitação.

Você pode alterar esse comportamento de duas maneiras.

  1. Sufixe seus URLs de imagem "girados" com uma string aleatória de php.Por exemplo, ( "rotate.php? Img= my_static_image.jpg & x= 12345" Isso significa que o navegador faz uma nova solicitação para cada imagem.

  2. Faça seu script girar redirecionar para um url aleatório senão recebe parâmetros extras.

Outras dicas

Você pode trabalhar com o parâmetro GET 'img'.

/path/to/images/rotate.php?img=my_static_image.jpg

Mais sobre o parâmetro GET padrão pode ser encontrado na documentação: http://www.alistapart.com / articles / randomizer /

Se você quiser manter o mesmo URL, basta adicionar um cabeçalho sem cache ao seu script php, como:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Esperançosamente, qualquer navegador decente respeitará isso e não armazenará em cache a primeira solicitação.

Sua outra opção é modificar o script rotate.php para que o código esteja contido em uma função.Em seguida, você usaria include('rotate.php'); na parte superior do seu script e usaria sua nova função rotate() sempre que precisar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top