Skocz do zawartości

Tworzenie obrazka w locie


yavaho

Rekomendowane odpowiedzi

Chce gdzieś na środku strony wyświetlić obrazek za pomocą funkcji imagepng(); Z tym że na stronie już jest usawione buforowanie.

Wygląda to mniej więcej tak:

<?php
ob_start();
//kod php
?>

kod html

<?php
//kod php generujący obrazek
imagepng();
?>

kod html

<?php
ob_end_flush(); 
?>

I nie wiem gdzie i jak ustawić odpowiedni header.

.

Odnośnik do komentarza
Udostępnij na innych stronach

... a następnie includować.

W przypadku includowania kodu php z innego pliku bedzie to samo co mam teraz.

Może chodziło Ci o otworzenie obrazka w ten sposób:

<img src="obrazek.php" />

Wtedy nie bedzie problemu z header, ale musze wykonywać dodatkowe połączenia z bazą danych i obliczenia, a tego właśnie chciałem uniknąć.

.

Odnośnik do komentarza
Udostępnij na innych stronach

Hm dziwna kombinacja - jezlei chcesz zrobic obrazek w locie to uzycie headera ma sens tylko w przypadku gdy robisz <img src=plik_generujacy.php> inaczej nie ma sesnu zmieniac content-type. Drugie rozwiazanie - bardzje pasujace do tego co napisales to utworznie obrazka dynamicznie i zapisanie go do jakiegos tempa jako plik a potem <img src=obrazek_z_tempa.png> innych rozwiazan nie widze

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz mam tak: <img src=plik_generujacy.php> można jeszcze w <iframe> ale to prawie to samo.

Chodziło mi głownie o zmiejszenie zapytań do bazy. Aby nie tworzyć dodatkowych/zdublowanych zapytań, to musiał bym do pliku generującego obrazek przekazać w linku dwie tablice po około 20 zmiennych.

Musze potestować która opcja będzie bardziej optymalna.

.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz mam tak: <img src=plik_generujacy.php> można jeszcze w <iframe> ale to prawie to samo.

Chodziło mi głownie o zmiejszenie zapytań do bazy. Aby nie tworzyć dodatkowych/zdublowanych zapytań, to musiał bym do pliku generującego obrazek przekazać w linku dwie tablice po około 20 zmiennych.

no to zależy jakie długie te dane ale 40 intów to spokojnie można zserializować i przekazać. A zlezy tez ile zapytań, bo moze warto wyniki keszować w bazie - masz wtedy narzut 2 zapytania (sprawdzenie czy jest w baze/odczyt albo zapis/odczyt), ale pewnie wystarczy ze pojawi sie nowe wywolanie z tymi samymi parametrami to sie zwróci :) wtedy przekazujesz np. tylko md5 zserializowanej tablicy i szlus

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności