Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Banalny (?) problem z GD
Forum PHP.pl > Forum > Przedszkole
separator
Jako że to pierwszy post, to serdecznie wszystkich witam ;-)

Problem z GD polega na tym, że nie moge przesłać obrazka do przeglądarki. Musiałbym chyba zapisać najpierw ten plik na serwerze, a dopiero potem wyświetlić go w przeglądarce, poczym usunąć z serwera, ale ne o to chodzi.
Skrypt, bardzo okrojony, a i tak nie działa wygląda tak:
  1. <?php
  2. header("Content-type: image/jpeg");
  3. $image = imagecreatefromjpeg("images/token.jpeg");
  4. imagejpeg($image);
  5. ?>

token.jpeg istnieje w tej lokalizacji, i jest to biały obrazek o wymiarach 200x50px. Zamiast niego dostaje mały prostokącik z napisem "Obrazek", tak, jakby załadowało nieistniejący obrazek.

Wiem, że błąd pewnie jest banalny, ale siedze nad tym od wczoraj wieczorem i nie wiem, o co mu chodzi. Nie wyświetla żadnych błędów itd. Jakieś podpowiedzi?
Pozdrawiam.
wookieb
Zakomentuj header i zobacz jaki bład wyskakuje.
separator
Nie jestem pewien, czy mam to tutaj wklejać, ale zamiast błędu wyskoczyło coś takiego, jakbyś otworzył jakiś obrazek w notatniku - na początku wzmianka o rodzaju obrazka a potem niezrozumiałe znaczki. Przyznam się szczerze, że nie znam się na tych znaczkach winksmiley.jpg
wookieb
OK wystaw to publicznie i podaj link.
separator
Aktualny kod:
  1. <?php
  2. // header("Content-type: image/jpeg");
  3. $image = imagecreatefromjpeg("images/token.jpeg");
  4. imagejpeg($image);
  5. ?>


I adres do pliku
flashdev
Cytat(separator @ 26.08.2009, 21:05:19 ) *
Aktualny kod:
  1. <?php
  2. // header("Content-type: image/jpeg");
  3. $image = imagecreatefromjpeg("images/token.jpeg");
  4. imagejpeg($image);
  5. ?>


I adres do pliku


Przed wysłaniem nagłówka nie może zostać wysłany żaden znak (nawet spacja ani znak nowej linii).
wookieb
W takim razie masz problem z headerem a dokladniej z "headers already send".
Sprawdź czy masz wyłączono nagłówki BOM oraz czy przed <?php nie ma zadnych innych znaków (spacje,entery itd)
separator
Rozwiązane. Okazało się, że kodowanie mam ustawione jako UTF-8, a to wysyła też kilka znaków przed skryptem. Zmieniłem kodowanie na bez BOM i śmiga. Dzięki ;-)
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.