Prosta stronka pokazujaca i automatycznie odświeżająca zdjęcia trzymane na serwerze

0

Pomocy

Potrzebuje prosta strone pokazujaca aktualne dwa zdjecia ktore leza na ftp. Dodam ze sa tam ladowane sa co jakis czas z kamerki internetowej (na serwer ftp). Troche nudne jest przyciskanie ctrl+F5 w Chromie za kazdym razem,kiedy sie wejdzie na strone i chce sie widziec te aktualne. A wiadomo ze przegladarki robia cache. Czy mozna to sprytnie obejsc. Kto pomoze?

1

Po pierwsze - zdjęcia może i wrzucasz przez FTP, ale raczej na stronie osadzisz je przez HTTP.

Po drugie - jeśli będą miały inne nazwy, to nic się cachować nie będzie.

Po trzecie - jeśli jednak nazwy będą podobne (z jakiegoś powodu będziesz musiał nazwać wszystkie pliki w stylu image.png) to możesz zastosować sztuczkę w sylu <img src="image.png?dummy=8484744" /> i przy każdym linkowaniu do pliku wstawiaj do wartości dummy= losowy ciąg.

Po czwarte - zamiast wciskać F5, możesz w JavaScript zrobić coś w stylu "window.location.reload(true)" - jeśli ustawisz parametr na TRUE to wymuszasz na przeglądarce pobranie treści strony z serwera, a nie pamięci podręcznej.

1
<img src="obraz.jpg?los=12345">

Gdzie 12345 jest jakąś losową liczbą albo aktualnym czasem uniksowym.

0

Jak wygenerowac taka losowa liczbe? Przepraszam za lamerskie pytanie, ale swiezak:)

2

Opcja 1.

<?php
header('Refresh: 30'); // czas odświeżania w sekundach

/* ... gdzieś dalej w kodzie ... */
echo "<img src='camera.png?".rand(0,99999999)."'>";
?>

Opcja 2. (zalecam)

<script>
var img = "camera.png"; // Link do obrazu
var time = 30; // czas odświeżania w sekundach

window.setInterval(function() {
document.getElementById("camera").src = img+"?"+Math.random();
},time*1000);
</script>

<img src="camera.png" id="camera">
0

Fantastico! Dziala:

echo "<img src='temp.jpg?".rand(0,99999999)."'>";

Jestescie wielcy!

Teraz: w ktorym miejscu dodac atrybuty zdjeciu: width="200" height="200", bo

echo "<img src='temp1.jpg?".rand(0,99999999)."' width="200" height="200" >"; 

nie dziala

1
echo "<img src='temp1.jpg?".rand(0,99999999)."' width=\"200\" height=\"200\" >";

To zadziała. Lepiej użyć JavaScript'a bo będzie odświeżało tylko zdjęcie a nie cała stronę.

0

OK. Super! Dzieki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1