Como executo um script php sempre que ele é acessado em uma página?
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!
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.
-
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.
-
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.