Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grafika w PHP i bledy
Forum PHP.pl > Forum > Przedszkole
coolart
witam mam maly problem poniewaz nie potrafie znalesc bledu dlaczego mi nie wczytuje obrazu. Mam nastepujacy kod
  1. <?php
  2. Header(&#092;"Content-type: image/png\");
  3.  
  4. $image = ImageCreateFormPNG (&#092;"./001.png\");
  5. ImagePNG($image, &#092;"./stat.png\");
  6. ImageDestroy($image);
  7. echo '<img border=0 src=./stat.png width=\"200\" height=\"70\">';
  8. ?>

Wychodzi z tego tak ze ma zaladowac obrac i puzniej zapisac go, nastepnie wyswietlic, problem lezy juz przy zmiennej $image nie wiem co jest bo robilem to wedlug ksiazki php od podstaw i powinno zadzialac. Kod jest okrojony poniewaz beda tam jeszcze sie znajdowac kolejne zmienne ktore beda wstawiac text ale ze nie potrafie sobie z tym zaladowaniem poradzic wiec go skrucilem.
Blad jaki mi wywala to taki
Kod
<br />
<b>Fatal error</b>:  Call to undefined function:  imagecreateformpng() in <b>e:\www\glowny\test2.php</b> on line <b>4</b><br />

moze ktos wie co sie dzieje i gdzie jest blad
kszychu
Kurka flaki! Facet, czytaj DOKŁADNIE komunikaty błędów.
Jak system Ci mówi, że nie ma funkcji imagecreateFORMpng, to nie ma takiej funkcji, spróbuj omagecreateFROMpng.
coolart
spokojnie nie kazdy zna angielski perfect.
Tylko ze na JPEG tez nie dziala, czy to jest gdzies do ustawienia w php.ini questionmark.gif
Blad ten wywala zarowno na php 4 jak i na 5, dodam ze to na servie krasnal.
Moze wiesz jak to poprawic by dzialalo
Cysiaczek
A czy przypadkiem nie powinno być

  1. <?php
  2.  
  3. imagecreatefromJPG
  4.  
  5. ?>


A może nioe włączyłeś obsługi GD

Idz do php.ini i znajdz linijkę gdzie będzie
  1. <?php
  2.  
  3. ;extension=php_gd2.dll
  4.  
  5. ?>


i usuń średnik
coolart
nie nie stety JPG nic nie dalo a
Kod
extension=php_gd2.dll

mam bez srednika
Moze jakies inne pomysly. Moze dodam ze
  1. <?php
  2.  
  3. $image = ImageCreate(350,100);
  4. $black = ImageColorAllocate($image, 0,0,0);
  5. $white = ImageColorAllocate($image, 255, 255, 255);
  6.  
  7. $info0 = 'Copyright by Klaster';
  8. $mini = '_'; 
  9. $close = 'x'; 
  10. ImageRectangle($image ,1,1,348,98, $white);
  11. ImageRectangle($image ,1,1,348,15, $white);
  12. ImageString($image, 2,115,1, $info0, $white);
  13. ImageString($image, 2,331,0, $mini, $white);
  14. ImageString($image, 2,340,1, $close, $white);
  15. ImagePNG($image, &#092;"./stat.png\");
  16. ImageDestroy($image);
  17. echo '<img border=0 src=./stat.png width=\"350\" height=\"100\">'
  18. ?>

dziala bez problemu ale operacje na gotowym pliku cos nie ida. Przeciez to jest to samo tyle ze zamiast ladowac puste plutno laduje obrazek jako plutno. juz sie zastanawiam czy czasem nie ma bledu w ksiazce i czy nie trzeba najpierw puste plutno utworzyc a potem obraz zaladowac tyko jak to zrobic by na puste zaladowac obraz.
znalazłęm co takiego tylko angielski nie za dobrze znam
function.imagecreatefromjpeg
function.imagecreatefrompng
function.imagecreatefromgif
kszychu
Pokaż dokładnie swój skrypt i powiedz co Ci w nim nie działa? Jaki komunikat błędu wyświetla?
coolart
krzychu nie chce bys sie znowu zdenerwowal ale ja sie tak wyuczylem ze jak cos nie dziala najlepiej jest kod skrucic do minimalnej objetosci gdzie wystepuje blad bo wtedy jest latwo go rozwiazac problem, i jak widzisz na samym poczatku to jest caly kod i dokladnie taki jak wkleilem blad tak wystepuje w IE natomiast w firefoxe wywala takie cos
Obrazek "HTTP://127.0.0.1/test2.php" nie moze byc wyswietlony poniewaz zawiera bledy
kszychu
No a poprawiłeś ten błąd, który podałem Ci na początku? Tam zamiast from napisałeś form w nazwie funkcji, stąd ten błąd.

Sorry, że się wkurzyłem. Czasami mam zły dzień...
coolart
o kurcze, jacie sune, ze by taki blad zrobic kurde a sprawdzalem z ksiazka kazda litere i ze by to przeoczyc, dzieki kszychu.
Czasem to tez sie wkurzam ale czasem nawet czytajac jakies zdania przeocze lub przelonacze, no nic teraz bede musial owazac co wpisuje. jeszcze raz dzieki
Darti
proponuję używać narzędzi, które kolorują składnię (od najprostrzych typu vi a na ZDE skończywszy) - wiele to pomaga
crash
A ja proponuję żebyś się zastanowił (autorze wątku) co ty wogóle chcesz zrobić? Dajesz nagłowek mówiący, że to będzie grafika, a zaraz potem wyrzucasz jakieś echo z kodem html. Coś się chyba rozpędziłeś...
coolart
bo to jest kod generujacy grafike, moze nie calkiem ale wpisujac imagestring(); wstawia obraz textu do obrazu, wiec wszystko wychodzi na to ze chodzi o grafike wiec temat na topie. Mam jeszcze jendo pytanie ale juz nie zwiazane z grafika i nie chcialbym zasmiecac forum.
Czy jest mozliwosc by kod byl wykonywany co np 20min na servie questionmark.gif
poniewaz pracuje nad czyms podobnym jak ptime-project.net tyle ze co innego bedzie sie znajdowalo dlatego nie wiem jak to dziala ale po wyslaniu danych scrypy ktory jest odpowiedzialny za wygenerowanie gotowego zdjecia jest wykonywany na serverze tylko czy da sie to zrobic bez MySQL lub ewentualnie z MySQL. dzialac ma to tak jak widac pod spodem
JvL
Cytat
Header("Content-type: image/png");
[...]
echo '<img border=0 src=./stat.png width="200"  height="70">';


chodzi o to ze dajesz header ze obrazek a nizej wstawiasz <img>.
bez sensu:)
Darti
Cytat(coolart @ 2005-03-11 12:49:02)
Mam jeszcze jendo pytanie ale juz nie zwiazane z grafika i nie chcialbym zasmiecac forum.
Czy jest mozliwosc by kod byl wykonywany co np 20min na servie questionmark.gif
poniewaz pracuje nad czyms podobnym jak ptime-project.net

Jest możliwość - crond się nazywa

Ale zamiast tego możesz rozpatrzyć inną ewentualność - przy zapytaniu o ten obrazek sprawdzasz czy dane się zmieniły od ostatniego generowania obrazka - jeśli tak to w locie tworzysz nowy i wysyłasz do klienta a jeśli nie to wyciągasz z tempa już wcześniej wygenerowany
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.