Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nie działa GD
srob
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


Witam.

Mam taki problem, nie mogę wyświetlić obrazka wygenerowanego przez bibloteke GD.
W logach servera nie ma nic zero błedów. W phpinfo GD jest włączone.

Mój kod:
  1. $image = imagecreatetruecolor(100, 100);
  2. header("Content-Type: image/png");
  3. imagepng($image);
  4. imagedestroy($image);


w firefoxie pisze coś takiego:

"Obrazek "http://........./......" nie może zostać wyświetlony, ponieważ zawiera błędy."

Szukałem juz w google nic nie znalazłem.
Proszę o pomoc!
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zapodaj link.
Albo zakomentuj header i zobacz jaki błąd Ci wywali.
Go to the top of the page
+Quote Post
srob
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


wywaliło coś takiego:
  1. PNG  ��� IHDR���d���d��������4IDATx��� ��� Om7������������������������������~ u��P9����IENDB`

Go to the top of the page
+Quote Post
flashdev
post
Post #4





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Usuń wszystkie spacje i entery przed '<?php'.
Go to the top of the page
+Quote Post
srob
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


nie ma spacji ani enterów sprawdziłem.

cala strona składa się z kilkudziesięciu plików php, może to być problemem? Jak mogę go wyeliminować, rozwiązać? Skrypt działa jak utworze jeden plik niezależny.
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


w index.php [lub pliku głównym] wstaw na początku skryptu ob_start() a na końcu ob_end_flush() powinno pomóc
Go to the top of the page
+Quote Post
srob
post
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


Nic nie dało. Dalej nie działa. Moze inny pomysł?
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


sprawdź to czy będzie działać:

  1.  
  2. $img = "sciezka_do_pliku/plik.jpg";
  3. header('Content-Type: image/jpg');
  4. $bcg = imagecreatefromjpeg($img);
  5. imagejpeg($bcg, null, 100);
  6.  


Cytat
Skrypt działa jak utworze jeden plik niezależny.

tzn?
Go to the top of the page
+Quote Post
srob
post
Post #9





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


kod który podałeś nie działa te same objawy.

A co do pytania. To jak utworze plik index.php i wleje kod to wyświetla się obrazek!

Moja stronka składa się z kilku dziesięciu plików php może to jest powodem? Spacji i enterów przed
  1. <?php
nie ma.

Już brak mi pomysłów, google nie pomogło:)
Go to the top of the page
+Quote Post
Wicepsik
post
Post #10





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


A jak próbujesz wyświetlić obrazek? Includujesz plik obrazka do innego pliku ?
Go to the top of the page
+Quote Post
srob
post
Post #11





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


Kod wygląda tak który nie działa na mojej stronce a działa jak go wrzucę do pliki index.php:
  1. require_once ("jpgraph/jpgraph.php");
  2. require_once ("jpgraph/jpgraph_line.php");
  3. require_once ("jpgraph/jpgraph_bar.php");
  4. function readsunspotdata($aFile, &$aYears, &$aSunspots) {
  5. $lines = @file($aFile,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
  6. if( $lines === false ) {
  7. throw new JpGraphException('Can not read sunspot data file.');
  8. }
  9. foreach( $lines as $line => $datarow ) {
  10. $split = preg_split('/[\s]+/',$datarow);
  11. $aYears[] = substr(trim($split[0]),0,4);
  12. $aSunspots[] = trim($split[1]);
  13. }
  14. }
  15. $year = array();
  16. $ydata = array();
  17. readsunspotdata('dane.txt',$year,$ydata);
  18. $width = 600; $height = 200;
  19. $graph = new Graph($width,$height);
  20. $graph->SetScale('intint');
  21. $graph->title->Set('Sunspot example');
  22. $graph->xaxis->title->Set('(year from 1701)');
  23. $graph->yaxis->title->Set('(# sunspots)');
  24. $lineplot=new LinePlot($ydata);
  25. $lineplot->SetFillColor('orange@0.5');
  26. $graph->Add($lineplot);
  27. $graph->Stroke();



Próbowałem też skrypt który korzysta z GD i te same objawy.
O to kod:

  1. $im=imagecreatetruecolor( 300, 200);
  2. $black=imagecolorallocate($im, 0, 0, 0);
  3. $lightgray=imagecolorallocate($im, 230, 230, 230);
  4. $darkgreen=imagecolorallocate($im, 80, 140, 80);
  5. $white=imagecolorallocate($im, 255, 255, 255);
  6. imagefilledrectangle($im,0,0,299,199 ,$lightgray);
  7. imagerectangle($im,0,0,299,199,$black);
  8. imagefilledellipse($im,150,100,210,110,$white);
  9. imagefilledellipse($im,150,100,200,100,$darkgreen);
  10. header('Content-type: image/png');
  11. imagepng($im);



Może cos robie nie tak?

Znalazłem rozwiązanie!:) Może mało profesjonalne ale działa.

Dla pierwszego listingu:
  1.  
  2. ....
  3. $graph->Stroke("graph.jpg");
  4.  
  5. echo ('<img src="graph.jpg?' .time(). '">');
  6.  


i dla drugiego:
  1.  
  2. $im=imagecreatetruecolor( 300, 200);
  3. $black=imagecolorallocate($im, 0, 0, 0);
  4. $lightgray=imagecolorallocate($im, 230, 230, 230);
  5. $darkgreen=imagecolorallocate($im, 80, 140, 80);
  6. $white=imagecolorallocate($im, 255, 255, 255);
  7. imagefilledrectangle($im,0,0,299,199 ,$lightgray);
  8. imagerectangle($im,0,0,299,199,$black);
  9. imagefilledellipse($im,150,100,210,110,$white);
  10. imagefilledellipse($im,150,100,200,100,$darkgreen);
  11. imagepng($im, 'test.png');
  12. echo ('<img src="test.png?' .time(). '">');
  13.  

Może inne sugestie?

Ten post edytował srob 5.10.2010, 22:27:48
Go to the top of the page
+Quote Post
wookieb
post
Post #12





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




1) Włącz pełne raportowanie błędów
2) Daj link do skryptu
Go to the top of the page
+Quote Post
srob
post
Post #13





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


witam.

Podaje link do skryptu jpgraph "http://jpgraph.net/".

Włączyłem pełne raportowanie błędów i nic nie ma. Zero błędów.
Go to the top of the page
+Quote Post
wookieb
post
Post #14





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Link do twojego skryptu.
Go to the top of the page
+Quote Post
srob
post
Post #15





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


http://rapidshare.com/files/423451055/test.php
Go to the top of the page
+Quote Post
jawka7
post
Post #16





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


Sprawdz kodowanie i ustaw ANSI jesli jest inaczej
Go to the top of the page
+Quote Post
srob
post
Post #17





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


Witam.

Gdzie zmienić? W edytorze?(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jawka7
post
Post #18





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


tak w edytorze
Go to the top of the page
+Quote Post
srob
post
Post #19





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.07.2006

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


Nic nie dało. Pozostaje przy rozwiązaniu generowania pliku i później wyświetlenia go. Podobne rozwiązanie znalazłem w manualu skryptu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 07:23