Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] błąd wyświetlania obrazków, Znaczki zamiast obrazka
lsmith
post 7.08.2007, 07:47:58
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.10.2006

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


Witam. Mam oto taki kod:
  1. <?php
  2. $th_szer=140; //szeroko__ miniaturki
  3.  $plik="../maszyny/".$_GET['id']."a.jpg";
  4.  $plik_zr = ImageCreateFromJPEG($plik);
  5. $wys = imagesy($plik_zr); //pobiera wysoko__ i szeroko__ oryginalnego zdj_cia
  6. $szer = imagesx($plik_zr);
  7.  
  8. $th_wys=floor($th_szer * $wys / $szer); //oblicza wysoko__ miniaturki
  9. $thumb = ImageCreateTrueColor($th_szer,$th_wys); //tworzy minaturk_ o wyliczonych rozmiarach
  10. imagejpeg($thumb);
  11. ?>


i cały problem dotyczy ostatniej linijki.. z dokumentacji imagejpg powinien pokazać image w przeglądarce albo zapisać go do pliku (Output image to browser or file) ja natomiast zamiast obrazka widze ciąg jakiś dziwnych znaczków np. "�����JFIF���������>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ���C�    $.' ",#(7),01444'9=82<.342���C  2!!22222222222222222222222222222222222222222222222222�������"�������������� �������}�!1AQa"q2���#B��R��....." itd..

gdzieś w google wyczytałem, że może być problem z tą funkcją przy GD 1.8 i starszych.. no ale to odpada bo mam wersje ponad 2.0
chyba, że może funkcje myle.. nie wiem.. pomocy ;]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Zyryx
post 7.08.2007, 09:14:11
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 3.06.2006
Skąd: Gdynia

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


dodaj przed funkcją imagejpeg to:
Kod
header('Content-type: Image/jpeg');


Ten post edytował Zyryx 7.08.2007, 09:14:57


--------------------
Pozdr. Zyryx
Go to the top of the page
+Quote Post
lsmith
post 7.08.2007, 10:35:13
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 26.10.2006

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


Próbowałem w kilku miejscach.. Przed samą funkcją powoduje taki błąd:
Warning: Cannot modify header information - headers already sent ...
i dalej znaczki robaczki sie pojawiają..

Kiedy wstawiam to na początku pliku pokazuje mi się adres do skryptu..
Nic sie nawet nie ładuje, tylko to widze np. http://localhost/remp/admin/show.php?id=4
Go to the top of the page
+Quote Post
-=Peter=-
post 7.08.2007, 10:40:08
Post #4





Grupa: Zarejestrowani
Postów: 304
Pomógł: 51
Dołączył: 4.02.2005
Skąd: Kraków

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


Poczytaj o funkcji header() w manualu, to będziesz wiedział dlaczego wywala błąd. Możesz to ominąć włączając bufforowanie (w pierwszej linijce kodu ob_start(), w ostatniej ob_flush())


--------------------
Go to the top of the page
+Quote Post
FireFox
post 7.08.2007, 10:42:22
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 26.01.2007

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


Zyryx napisal o header masz link poczytaj o header'ach

funkcje ta stosuje sie zawsze przed wyswietleniem czegokolwiek
Go to the top of the page
+Quote Post
Cezar708
post 7.08.2007, 11:41:13
Post #6





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(-=Peter=- @ 7.08.2007, 09:40:08 ) *
Poczytaj o funkcji header() w manualu, to będziesz wiedział dlaczego wywala błąd. Możesz to ominąć włączając bufforowanie (w pierwszej linijce kodu ob_start(), w ostatniej ob_flush())


W tym przypadku buforowanie nic nie pomoże bo, owszem przeglądarka zrozumie że chodzi o jakiś obrazek, lecz jeśli coś zostało do niego dodane na początku lub na końcu (na przykład spacja) to i tak nie wyświetli się prawidłowo (jeśli w ogóle się wyświetli).

jak chcesz wyświetlić obrazek poprze php to MUSISZ ustawić odpowiednie headery i NIE MOŻESZ nic poza obrazkiem wysłać, czyli nawet pustej spacji. Szczególnie zwróć uwagę na to, żeby w kodzie nie było żadnych funkcji typu: echo *print* itp itd i żeby na początku pliku (przed <?php jeszcze) nie znajdowała się pusta spacja oraz żeby na końcu pliku (po ?> też nie znajdowała się nawet pusta spacja).

Ten post edytował Cezar708 7.08.2007, 11:42:16
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: 26.06.2025 - 21:30