Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste tworzenie obrazka
Forum PHP.pl > Forum > PHP
klapaucius
Przy próbie stworzenia prostego obrazka za pomoca następującego kodu:
  1. <?php
  2. $obrazek = imagecreatetruecolor(100, 100);
  3. $kolor_tla = imagecolorallocate($obrazek, 0, 0, 64);
  4. imagefill($obrazek, 0, 0, $kolor_tla);
  5.  
  6. Header('Content-type: image/png');
  7. imagepng($obrazek);
  8.  
  9. imagedestroy($obrazek);
  10. ?>

wyskakuje bardzo dziwny błąd, a nawet chyba są to 2 błedy:
Kod
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\xampp\htdocs\PhpProject1\index.php:8) in D:\xampp\xampp\htdocs\PhpProject1\index.php on line 13
�PNG  IHDRdd���IDATx���A !��e�_�Y�/B2����3�v�K� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ~� K��@IEND�B`�

Pierwszy jak widać dotyczy header'a, a drugi wyświetlenia jakichś dziwnych krzaczków i pytajników zamiast obrazka.
Używam windowsowego serwera Apache. W pliku php.ini mam odkomentowane "extension=php_gd2.dll".
Powyższy kod bazuje na książce "PHP i MySQL - Vademecum profesjonalisty" więc tymbardziej dziwie się że wyskakuje bład sad.gif
mimol
spróbuj umieścić header w 2 linijce (zaraz pod <?php)
klapaucius
No tak. Zniknął problem header'a, natomiast jednak dalej jest problem z poprawnym wyświetleniem obrazka. Są widoczne teraz tylko te krzaczki. sad.gif
mimol
również mam korzystam z XAMPP i mi kod działa poprawnie
wypluwa mi grantowy prostokąt
klapaucius
hmm bardzo dziwne. Więc dlaczego u mnie nie działa poprawnie... : <
mimol
nie mam pojęcia, spróbuj zainstaować sobie moze kransala, lub webserv, sprawdzić jak działa na innych hostingach. Byc moze jest to od wersji PHP

chociaz najbardziej prawdopodbne jest to, ze źle przegladarka interpertuje header (Content-type: image/png), sprawdz czy na pewno dostajesz taki nagłówek podczas wczytywania strony

spróbuj użyć przykadu z PHP imagecreate
klapaucius
No więc tak: pobrałem webserva i okazuje się że na nim jest to samo. Identyczny błąd.
Spróbowałem uruchomić stronę w innej przeglądarce - to samo.
Wrzuciłem plik ze skryptem na stronę cba.pl - efet: Obrazek "http://sciezka do mojego pliku" nie może zostać wyświetlony ponieważ zawiera błędy.

To wszystko jest baardzo dziwne.. Gdybym ja jeszcze samemu ten skrypt napisał.. Ale to jest przepisane z podręcznika...

@edit:

Jest mam! Znalazłem rozwiązanie.
Dość dziwne ale.. Wystarczy, by przed znakiem rozpoczęcia kodu PHP <?php Znajdowała sie choć jedna spacja (tak było w moim przypadku) to kod wtedy właśnie wywala takie błędy.. Tylko teraz się pytam dlaczego?
toaspzoo
A kodowanie pliku to jakie Pan ma... ?
klapaucius
Cytat(toaspzoo @ 22.08.2012, 20:03:58 ) *
A kodowanie pliku to jakie Pan ma... ?

UTF-8 (bez BOM)
A to ma coś do rzeczy?
toaspzoo
Utwórz nowy plik tekstowy, ustaw kodowanie na utf8, wklej treść starego, i przepisz <?
klapaucius
Dzieki
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.