Как запустить скрипт php каждый раз, когда к нему обращаются на странице? - PullRequest
1 голос
/ 30 апреля 2011

Я использую этот ротатор изображения. Это здорово, но если я ссылаюсь на него несколько раз на одной странице, он отображает одно и то же изображение. Я не знаю, сколько раз он будет доступен, поэтому использование нескольких идентичных сценариев нецелесообразно. Как мне изменить этот скрипт, чтобы я мог получить другое изображение в другом месте на странице, используя тот же URL? Возможно ли это?

РЕДАКТИРОВАТЬ: Оказывается, что, должно быть, были некоторые проблемы с кодированием. Я нашел лучший код здесь , и он работает, если я использую разные запросы для каждой ссылки. Спасибо всем, кто прислал ответы!

Ответы [ 3 ]

2 голосов
/ 30 апреля 2011

Передайте разные строки запроса для каждого экземпляра, чтобы браузер получал его несколько раз.

Ваш браузер видит, что каждое «повернутое» изображение использует один и тот же URL, поэтому он кэширует полученное изображение из первого запроса.

Вы можете изменить это поведение двумя способами.

  1. Суффиксы ваших «повернутых» изображений со случайной строкой из php. Например ( "rotate.php? Img = my_static_image.jpg & x = 12345" Это означает, что браузер выполняет новый запрос для каждого изображения.

  2. Заставьте ваш скрипт поворота перенаправить на случайный URL, если он не получает дополнительных параметров.

0 голосов
/ 30 апреля 2011

Если вы хотите сохранить URL-адрес прежним, просто добавьте заголовок без кэширования в ваш php-скрипт следующим образом:

<?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
?>

Надеемся, что любой наполовину достойный браузер с уважением отнесется к этомупервый запрос.

Другой вариант - изменить скрипт rotate.php так, чтобы код содержался внутри функции.Тогда вы будете использовать include('rotate.php'); в верхней части вашего скрипта и использовать новую функцию rotate() там, где вам это нужно.

0 голосов
/ 30 апреля 2011

Вы можете работать с параметром GET 'img'.

/ путь / к / изображений / rotate.php? IMG = my_static_image.jpg

Подробнее о параметре GET по умолчанию вы можете найти в документации: http://www.alistapart.com/articles/randomizer/

...