Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobieranie obrazka
Warmix
post 1.02.2016, 16:01:49
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kafowi
post 1.02.2016, 16:31:01
Post #2





Grupa: Zarejestrowani
Postów: 75
Pomógł: 20
Dołączył: 13.02.2015

Ostrzeżenie: (0%)
-----


- 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
Go to the top of the page
+Quote Post
Pyton_000
post 1.02.2016, 16:31:13
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


dodać w 27 linijce:

  1. $fortune-teller = false;
Go to the top of the page
+Quote Post
Warmix
post 1.02.2016, 22:00:59
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

Ostrzeżenie: (0%)
-----


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

Ten post edytował Warmix 1.02.2016, 22:02:23
Go to the top of the page
+Quote Post
markuz
post 1.02.2016, 22:25:39
Post #5





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markuz 1.02.2016, 22:28:25


--------------------
Go to the top of the page
+Quote Post
Warmix
post 2.02.2016, 09:41:12
Post #6





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

Ostrzeżenie: (0%)
-----


Problem w tym, że nie mogę ingerować w plik img.php
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:33