Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][jQuery] w jaki sposob dynamicznie zwrocic obrazek
Forum PHP.pl > Forum > Przedszkole
wiewiorek
Chciałbym żeby na starcie (oczywiście w zamyśle mam coś bardziej skomplikowanego) skrypt jQuery przekazywał do pliku obraz.php wartość = 100 i był zwracany i wyświetlany obrazek, ale niestety nie działa zwracanie i wyświetlanie obrazka.

W pliku index.php, w którym ma być wyświetlany obrazek mam:
  1. <img id="obrazek" src="obraz.php" />


W pliku obraz.php generujacym obrazek (i wywoływanym przez jQuery) mam:
  1. <?php
  2. if(isset($_POST['wartosc'])) $wartosc = (int)$_POST['wartosc'];
  3. else $wartosc = 1;
  4.  
  5. header('Content-Type: image/jpeg');
  6. $img = imagecreatefromjpeg('drzewo.jpg');
  7. imagefilter($img, IMG_FILTER_BRIGHTNESS, $wartosc);
  8. imagejpeg($img);
  9. ?>


W skrypcie jQuery mam:
  1. $(document).ready(function()
  2. {
  3. $.post("obraz.php", { wartosc: 100 }, function(dane)
  4. {
  5. $("#obrazek").attr("src").load("obraz.php");
  6. });
  7. });
wookieb
Nie postem tylko GET-em
  1. $("#obrazek").attr("src").load("obraz.php?wartosc=1");


Odbieranie obrazka z jednoczesnym wysłaniem danych przez POST przejdzie np we flashu ale nie js.
wiewiorek
To samo zachowanie - a właściwie jego brak - wygląd obrazka się nie zmienia.
wookieb
A zmieniłeś skrypt, żeby odbierał dane z GET-a a nie POST-a?

Poza tym pokaż co dokładnie zrobiłeś.
wiewiorek
ok - skrypt jQuery:
  1. $(document).ready(function()
  2. {
  3. $.get("obraz.php", function(dane)
  4. {
  5. $("#obrazek").attr("src").load("obraz.php?wartosc=100");
  6. });
  7. });


Skrypt php:
  1. <?php
  2. header('Content-Type: image/jpeg');
  3.  
  4. if(isset($_GET['wartosc'])) $wartosc = (int)$_GET['wartosc'];
  5. else $wartosc = 1;
  6.  
  7. $img = imagecreatefromjpeg('drzewo.jpg');
  8. imagefilter($img, IMG_FILTER_BRIGHTNESS, $wartosc);
  9. imagejpeg($img);
  10. ?>
wookieb
nie myslisz kompletnie...
Kod
$(document).ready(function()
{
    $("#obrazek").attr("src").load("obraz.php?wartosc="+dane.wartosc);
});
wiewiorek
Daruj sobie swoje głupie uwagi, na które już nie raz zwracałem Tobie uwagę abyś traktował ludzi z szacunkiem.

  1. "obraz.php?wartosc="+dane.wartosc
- zmienna 'dane' u mnie to dane zwracane z pliku obraz.php (i na pewno nie jest z tego pliku zwracana wartosc) - więc to jest bez sensu - nie myślisz kompletnie.
wookieb
A racja małę zagmatwanie.
Kod
$("#obrazek").attr("src", "obraz.php?wartosc="+wartosc);


Tylko ze zmienna wartosc musisz miec wczesniej. Plik zwraca Ci obrazek a nie wartosc liczbowa.
Tak naprawde dla pelnego efektu (zeby obrazek nei został pobrany z cache przeglądarki) powinieneś dodać pole z losową wartością.
wiewiorek
No i super - dziękuję smile.gif
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.