Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie obrazka
Forum PHP.pl > Forum > Przedszkole
Warmix
Mam stronę img.php, która generuje losowy obrazek

Po użyciu:
  1. <img src="x.pl/img.php">

wyświetla mi losowy obrazek dajmy na to img1.

Używam drugi raz img w tym samym pliku
  1. <img src="x.pl/img.php">

Wyświetla mi inny obrazek np. img2.

Co zrobić, żeby drugie użycie img src wyświetlało identyczny obrazek (czyli tutaj: img1) jak pierwsze użycie img src?
kafowi
- Zapamiętać pierwsze losowanie, ustawić ciasteczko, na początku skryptu sprawdzać czy istnieje ciastko, jeżeli tak to return ciastko.
- Podmienić przy użyciu JS

  1. <img src="http://www.w3schools.com/jsref/prop_img_src.asp"/>
  2. <img src="http://www.w3schools.com/html/default.asp"/>
  3. <img src="http://www.w3schools.com/html/default.asp"/>
  4. <img src="http://www.w3schools.com/html/default.asp"/>
  5. <img src="http://www.w3schools.com/html/default.asp"/>

[JAVASCRIPT] pobierz, plaintext
  1. var adres1 = document.querySelector('img').src;
  2. for(i=1;i<document.getElementsByTagName('img').length;i++){
  3. document.getElementsByTagName('img')[i].src = adres1;
  4. }
[JAVASCRIPT] pobierz, plaintext
Pyton_000
dodać w 27 linijce:

  1. $fortune-teller = false;
Warmix
Cytat(kafowi @ 1.02.2016, 16:31:01 ) *
- Zapamiętać pierwsze losowanie, ustawić ciasteczko, na początku skryptu sprawdzać czy istnieje ciastko, jeżeli tak to return ciastko.
- Podmienić przy użyciu JS

  1. <img src="http://www.w3schools.com/jsref/prop_img_src.asp"/>
  2. <img src="http://www.w3schools.com/html/default.asp"/>
  3. <img src="http://www.w3schools.com/html/default.asp"/>
  4. <img src="http://www.w3schools.com/html/default.asp"/>
  5. <img src="http://www.w3schools.com/html/default.asp"/>

[JAVASCRIPT] pobierz, plaintext
  1. var adres1 = document.querySelector('img').src;
  2. for(i=1;i<document.getElementsByTagName('img').length;i++){
  3. document.getElementsByTagName('img')[i].src = adres1;
  4. }
[JAVASCRIPT] pobierz, plaintext


Mógłbyś trochę rozszerzy to, jak mam zapamiętać w cookies wylosowany obrazek? Bo gdybym miał po wylosowaniu link do obrazka, np. img1.jpg to mógłbym go zapamiętać, ale link do obrazka to wciąż x.pl/img.php
markuz
Albo tak:
  1. <img src="x.pl/img.php?u=<?= uniqid() ?>">

img.php
  1. if(isset($_GET['u']) && isset($_SESSION['img_' . $_GET['u']])) {
  2. return PATH . $_SESSION['img_' . $_GET['u']] . '.png';
  3. } else {
  4. $random = rand(0, 100);
  5. $_SESSION['img_' . $_GET['u']] = $random;
  6. return PATH . $random . '.png';
  7. } // pisane z palca, nie kopiuj tylko napisz od nowa


To tylko przykład, bo nie wiem jak wygląda twój kod.

Wadą jest to, że obrazki nie będą cachowane przez przeglądarke, bo za każdym wejściem na strone będzie to teoretycznie inny obrazek.
Gdybyś dał nam wgląd na obszerniejsze spojrzenie na twój problem na pewno znalazło by się lepsze rozwiązanie.
Warmix
Problem w tym, że nie mogę ingerować w plik img.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.