Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]problem z imagecreatefromgif
-hobibit-
post
Post #1





Goście







Nie działa mi fragment kodu z funkcją: imagecreatefromgif.

  1. <?php
  2. if (function_exists('imagecreatefromgif')){echo 'jest';}
  3. $obrazek_tymczasowy = imagecreatefromgif("pliki/qwe.gif");
  4. ?>


  1. jest
  2. Warning: imagecreatefromgif() [function.imagecreatefromgif]: 'pliki/qwe.gif' is not a valid GIF file in /home/hobibit/public_html/art/index.php on line 71


Fragment z phpinfo():
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
Powód edycji: dodanie tagu ~Cienki1980
Go to the top of the page
+Quote Post
bartg
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


Wyraźnie pisze że ten obrazek nie jest gifem. Rozszerzen ie nie zmienia typów pliku ;p

Funkcja sprawdzająca typy plików: (by me)
  1. <?php
  2. function imagecreatefrom($sFile)
  3. {
  4. if(!file_exists($sFile))
  5. {
  6. die('Image doesn't not exists: '.$sFile);
  7. }
  8. $size = @getimagesize($sFile);
  9. switch ($size[2])
  10. {
  11. case IMAGETYPE_PNG:  
  12. $imgTmp = imagecreatefrompng($sFile);
  13. break;
  14. case IMAGETYPE_JPEG: 
  15. $imgTmp = imagecreatefromjpeg($sFile);
  16. break;
  17. case IMAGETYPE_GIF: 
  18. $imgTmp = imagecreatefromgif($sFile);
  19. break;
  20. default:
  21. die('Invalid image type: '.$size[2]);
  22. break;
  23. }
  24. return $imgTmp;
  25. }
  26. ?>


Ten post edytował bartg 11.03.2008, 18:36:18
Go to the top of the page
+Quote Post
bim2
post
Post #3





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Ja bym do tego dodał jeszcze WBMP i zamiast die() dał return false; (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
bartg
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


Bim dobrze wiesz że tam z naszej funkcji była excepcja Syda i najprościej dla mnie było dać die. Dodatkowo jeśli nie ma obrazka to po co dalej robić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Najwyżej dac w ifce else i dac jakis domyślny img.
  1. <?php
  2. if(!file_exists($sFile))
  3. {
  4. sFile = 'sciezka domyslnego obrazka pokazujace go jakis blad';
  5. }
  6. ?>
Go to the top of the page
+Quote Post
-hobibit-
post
Post #5





Goście







Wielkie dzięki. Nie mam pojęcia dlaczego tak było... ten plik naprawdę nie był innym plikiem ze zmienionym rozszerzeniem.
Mam jeszcze jedno pytanie, ten fragment potrzebowałem do tworzenia miniatur.
czyli w sumie standard ale u mnie
  1. <?php
  2. $miniatura = imagecreatetruecolor(100, 100);
  3. ?>

tworzy kwadracik ale wypełniony czarnym kolorem i żeby cokolwiek tam zamieścić widocznego musiałem pomalować go na biało. Czy jest jakiś inny sposób czy ja coś źle zrobiłem.
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat
tworzy kwadracik ale wypełniony czarnym kolorem i żeby cokolwiek tam zamieścić widocznego musiałem pomalować go na biało. Czy jest jakiś inny sposób czy ja coś źle zrobiłem.


W wypadku truecolor to normalne, że obrazek jest domyślnie czarny. Do zrobienia miniatury najlepiej użyj (po wyliczeniu współczynników) imagecopyresampled().

http://pl.php.net/manual/pl/function.imagecopyresampled.php
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: 23.08.2025 - 13:10