Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie działa grafika
Forum PHP.pl > Forum > Przedszkole
Raito
Witam

Przerabiam właśnie rozdział książki poświęcony grafice, lecz nie chce mi się ona wyświetlać. Oto kod:

  1. header("Content-type: image/jpeg");
  2.  
  3. $rysunek = ImageCreate(100,100);
  4.  
  5. $kolorbialy = ImageColorAllocate($rysunek, 255, 255, 255);
  6. $kolorczarny = ImageColorAllocate($rysunek, 0, 0, 0);
  7. imagefill($rysunek, 0, 0, $kolorczarny);
  8.  
  9. for($i=1;$i<10;$i++){
  10. imageline($rysunek, 10*$i, 0, 10*$i, 100, $kolorbialy);
  11. imageline($rysunek, 0, 10*$i, 100, 10*$i, $kolorbialy);
  12. }
  13. imagejpeg($rysunek);
  14. imagedestroy($rysunek);
404
Daj na samym początku skryptu:
  1. ini_set('display_errors', 'On');
Raito
Dałem na samym początku, lecz nie wyświetla mi żadnego błędu. Pokazuje tylko obrazek niezaładowanego obrazu...
trueblue
Wyrzuć header(...
Raito
Teraz pojawiły mi się takie znaczki (to nie całość):
Kod
����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C          $.' ",#(7),01444'9=82<.342��C      2!!22222222222222222222222222222222222222222222222222��dd"��     ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
kujol
Oto efekt twojego kodu na localhost wink.gif



Nic nie zmieniałem i chyba działa.
Raito
Taki właśnie miał być wynik skryptu, lecz mi to nie działa. Pokazuje mi się tylko:

Biblioteka GD:
kujol
Ja mam tak:

  1. $gd = gd_info();
  2.  
  3. foreach($gd as $klucz => $wartosc) {
  4. if ($wartosc == '1') $wartosc = '<b>tak</b>';
  5. elseif ($wartosc == '0') $wartosc = '<b>nie</b>';
  6. else $wartosc = '<b>'.$wartosc.'</b>';
  7.  
  8. echo $klucz.': '.$wartosc.'<br />';
  9. }


Kod
GD Version: bundled (2.1.0 compatible)
FreeType Support: tak
FreeType Linkage: with freetype
T1Lib Support: nie
GIF Read Support: tak
GIF Create Support: tak
JPEG Support: tak
PNG Support: tak
WBMP Support: tak
XPM Support: tak
XBM Support: tak
JIS-mapped Japanese Font Support: nie
Raito
U mnie jest tak:
Kod
GD Version: bundled (2.0.34 compatible)
FreeType Support: tak
FreeType Linkage: with freetype
T1Lib Support: nie
GIF Read Support: tak
GIF Create Support: tak
JPEG Support: tak
PNG Support: tak
WBMP Support: tak
XPM Support: nie
XBM Support: tak
JIS-mapped Japanese Font Support: nie
zielu001
Zmień kodowanie pliku na UTF-8 Bez bom
Raito
Dalej nie działa...
404
Spróbuj na innej przeglądarce.
Raito
W Firefoxie pisze: "Obrazek „http://localhost/testy.php” nie może zostać wyświetlony, ponieważ zawiera błędy."
kujol
A sprawdź czy takie coś będzie Ci działać.

  1. $im = ImageCreate(100, 100);
  2.  
  3. $background = ImageColorAllocate($im, 000, 000, 000);
  4. $color = ImageColorAllocate($im, 255, 255, 255);
  5.  
  6. $string = imageString($im, 5, 0, 0, 'String', $color);
  7.  
  8. header("Content-type: image/jpeg");
  9.  
  10. imagejpeg($im);
  11. imagedestroy($im);
Raito
Również nie działa
kujol
Spróbuj pobrać najnowszą wersję biblioteki gd z tej strony:

libgd.bitbucket.org/

I zainstaluj ją u siebie, bo błąd leży gdzies po twojej stronie, a nie kodu.
Raito
Mógłby mi ktoś dać link do jakiegoś dobrego poradnika, lub napisał krok po kroku jak zaktualizować bibliotekę GD? Pobrałem folder z plikami i nie wiem co teraz zrobić...
nospor
Kod co podales w pierwszym poscie to jest tylko ten kod, czy moze zawiera on cos jeszcze dalej lub wczesniej?
Raito
Cały plik php:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2. "http://www.w3.org/TR/html4/strict.dtd">
  3.  
  4. <html>
  5.  
  6. <head>
  7.  
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <title>Testy</title>
  10.  
  11. </head>
  12.  
  13. <body>
  14.  
  15. <?php
  16.  
  17. ini_set('display_errors', 'On');
  18.  
  19. header("Content-type: image/jpeg");
  20.  
  21. $rysunek = ImageCreate(100,100);
  22.  
  23. $kolorbialy = ImageColorAllocate($rysunek, 255, 255, 255);
  24. $kolorczarny = ImageColorAllocate($rysunek, 0, 0, 0);
  25. imagefill($rysunek, 0, 0, $kolorczarny);
  26.  
  27. for($i=1;$i<10;$i++){
  28. imageline($rysunek, 10*$i, 0, 10*$i, 100, $kolorbialy);
  29. imageline($rysunek, 0, 10*$i, 100, 10*$i, $kolorbialy);
  30. }
  31.  
  32. imagejpeg($rysunek);
  33. imagedestroy($rysunek);
  34.  
  35.  
  36. ?>
  37.  
  38. </body>
  39.  
  40. </html>
nospor
facepalmxd.gif

Kod php generujacy obrazek, ma zawierac tylko i wyłacznie kod php generujacy obrazek, a nie jeszcze kupe smiecia w postaci HTML
lukasz_os
Wyrzuć wszystkie tagi html!! Poza tym DOCTYPE z HTML 4.01... sciana.gif
Raito
Ok, zmieniłem i teraz plik zawiera tylko i wyłącznie kod, lecz efekt jest dalej ten sam...
nospor
widac zawiera cos jeszcze, np. puste linie przed <?php albo puste linie po ?> albo spacje, albo BOM albo cala masa innych smieci
Raito
nospor
Jestes pewien, ze plik zapisales w UTF8 bez BOM?
Raito
W zakładce Format mam zaznaczone UTF-8 bez BOM.
Pyton_000
Wywal ?>, nie zaleca się stosowania ?> w plikach .php

Potem zrób zapisz jako "UTF-8 bez BOM"
trueblue
A potem jeśli nadal nie działa, pokaż co kod wyrzuci na ekran kiedy usuniesz header(....
Raito
Usunąłem ?>, przekonwertowałem do UTF-8 bez BOM, ale dalej nie działa... Po usunięciu header wyświetla mi:
Pyton_000
I nie ma bata,musi działać smile.gif

Sprawdzałeś inne przeglądarki ?
Raito
Dzięki wielkie smile.gif Działa na Firefoxie. Zna ktoś powód czemu na Chrome nie działa?
Pyton_000
Cache, AdBlock, faza księżyca, przypływy w Tajlandii, pozycja słońca w Egipcie nad piramidami... Można wymieniać bez końca wink.gif
Raito
Ta grafika raz działa, raz nie... Nie działała na chrome, na firefoxie zadziałało. Nic nie zmieniałem odświeżyłem chrome i zadziałało...
trueblue
Wyczyść cache przeglądarki.
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.