![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem mnóstwo postów na forum w ciągu ostatniego tygodnia, szukając sposobu na wykonanie galerii korzystającej z obrazków umieszczonych w bazie jako blob. Za bardzo mi te posty nie pomogły, ale sporo się nauczyłem. Doszedłem już do tego, że mam rysunki w bazie, ale niestety, nie moge ich wyświetlić na stronie. Widziałem mnóstwo sposobów prezentowanych przez uczestników forum
http://forum.php.pl/viewtopic.php?t=6461&h...&highlight=blob http://forum.php.pl/viewtopic.php?t=432&highlight=blob i wiele innych, których przytaczania oszczędzę sobie i innym użytkownikom forum. Efekt ciągle ten sam. Dostaję na stronie rysunek w postaci binarnej, czyli krzaczki. Na razie stosuję dwie metody: foto użytkowników z pliku, a galeria na gotowym skrypcie http://coppermine.sourceforge.net/ ale pytanie nadal mnie nurtuje. Będę wdzięczny za informację, jtz. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Na początku skryptu wyświetlającego obrazek:
[php:1:d654aa651d] header('Content-Type: image/jpeg'); // lub header('Content-Type: image/gif'); // analogicznie dla innych formatów (png) [/php:1:d654aa651d] wtedy na pewno nie wyświetlą się krzaczki a obrazek. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję. Twój post mnie oświecił. Już wcześniej wstawiałem header-y, ale robilem to źle. Jeszcze raz dzięki.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie jeszcze coś:
jeżeli napiszę tak: [php:1:96abbd42b4]<?php header('Content-Type: image/jpeg'); include("wyswietl.php"); ?>[/php:1:96abbd42b4] to wszystko wyswietla się OK, ale jeżeli chcę dorzucić do pliku kod HTML Kod <body>
<?php header('Content-Type: image/jpeg'); include("wyswietl.php"); ?> </body> to dostaję komunikat Kod Warning: Cannot add header information - headers already sent by (output started at /var/www/html/kfd_adv/obrazki.php:2) in /var/www/html/kfd_adv/obrazki.php on line 3
Zapewne można dodać html, tylko jak? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wysyłasz tekst do przeglądarki przed nagłowkami - wstaw na samym poczaątku strony :
[php:1:b6c8988e4d]<?php ob_start(); ?>[/php:1:b6c8988e4d] tutaj <body> i twoje kody :wink: i na samym koncu strony to : [php:1:b6c8988e4d]<?php ob_end_flush(); ?>[/php:1:b6c8988e4d] |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale jeżeli chcę dorzucić do pliku kod HTML
Kod <body> <?php header('Content-Type: image/jpeg'); include("wyswietl.php"); ?> </body> Jeśli za pomocą nagłówka dajesz przeglądarce znać, że przesłany zostanie obrazek to nie możesz łączyć go z HTML-em. Za to w osobnym pliku HTML odwołujesz się do skryptu php jak do obrazka o normalnym rozszerzeniu. Kod <body>
<img src="wyswietl.php" /> </body> |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Ok, przeprowadziłem serię prób, przeczytałem manuala na php.net i nadal nie wiem, jak powinny być wzajemnie położone
[php:1:ef3126422e]<?php header('Content-Type: image/jpeg'); include("wyswietl.php"); ?>[/php:1:ef3126422e] i <?php [php:1:ef3126422e]<?php ob_start(); echo " <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> itd."; ob_end_flush(); ?>[/php:1:ef3126422e] przechwyciłem zawartość bufora ob_get_contents(); przekazałem do zmiennej i ciągle nie moge uzyskać równocześnie obrazka i tekstu. A żeby było jeszcze zabawniej, to niczego nie buforuje, tylko wyrzuca od razu na ekran. Może to powód powyższych kłopotów, ale sam na to nie potrafię odpowiedzieć. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [WR"]
Jeśli za pomocą nagłówka dajesz przeglądarce znać, że przesłany zostanie obrazek to nie możesz łączyć go z HTML-em. Za to w osobnym pliku HTML odwołujesz się do skryptu php jak do obrazka o normalnym rozszerzeniu. Kod <body> <img src="wyswietl.php" /> </body> Racja, tak logiczne, że aż mi głupio. Dzięki, wszystko jest tak, jak chciałem. Widziałem już gdzieś tą składnię, ale nie wpadło mi do głowy, żeby jej użyć. PS. Pozostaje aktualne pytanie, czemu [php:1:c1b88850a7]<?php ob_start(); ?>[/php:1:c1b88850a7] buforuje a mimo to wyrzuca na ekran? W manualu jest napisane, ze przechwytuje, więc chyba output powinien być zerowy? |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat PS. Pozostaje aktualne pytanie, czemu [php:1:f21d7402b9]<?php
ob_start(); ?>[/php:1:f21d7402b9] buforuje a mimo to wyrzuca na ekran? W manualu jest napisane, ze przechwytuje, więc chyba output powinien być zerowy? W dalszej czesci masz: ob_end_flush(), ktore wypluwa cala zawartosc. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat W dalszej czesci masz: ob_end_flush(), ktore wypluwa cala zawartosc.
I wszystko jasne :idea: |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:48 |