Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][GD] Tworzenie miniaturek
Forum PHP.pl > Forum > Przedszkole
Aysorth
Hej,
posiadam ja sobie taki kod:
  1. <?php
  2.        function createthumb($file, $new_height = 200) {
  3.  
  4.                $name = explode('.', $file);
  5. if (preg_match("/jpg|jpeg/", $name[1])) {
  6. $image = imagecreatefromjpeg($file);
  7. } elseif (preg_match("/png/", $name[1])) {
  8. $image = imagecreatefrompng($file);
  9. } else {
  10. die("Podany plik musi być formatu .png, .jpg lub .jpeg.");
  11. }
  12.  
  13.                $width = imagesx($image);
  14. $height = imagesy($image);
  15.  
  16.                $new_width = ceil(($width*$new_height) / $height);
  17.  
  18.                $finalimg = imagecreatetruecolor($new_width, $new_height);
  19.  
  20.                imagecopyresized($finalimg, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height) or die();
  21.  
  22.                imagepng($img, "images/gallery/thumbnails/".$name[0].".png/");
  23.  
  24.                return $finalimg;
  25.  
  26.        }
  27. ?>


Wydaje mi się poprawny, jednak funkcja przy wywołaniu wyrzuca błąd:
imagecopyresized(): supplied argument is not a valid Image resource
Występuje on przy zmiennej $finalimg, 5 linijka od dołu.

Próbowałem różnie, ze stałymi wartościami wysokości i szerokości, imagecreate(), cały czas to samo. Co może być powodem tego błędu? Jak go zdeptać, opluć i wgnieść w ziemię?

Pracuję na
Apacz 2.2.6
PHP 5.25
GD 2.0.34
Win XP SP2

Pozdrawiam.
ikssde
Wszedzie korzystasz ze zmiennej $image a w funkcji wywolujesz jako $img ?

@edit

Po pierwsze w poniższym kodzie masz błąd :

imagepng($img, "images/gallery/thumbnails/".$name[0].".png/");

*Nie powinno być "/" za rozszerzeniem pliku, czyli "png/".
*Tworzysz miniaturke ze zmiennej "$img", a tak naprawdę powinieneś ją tworzyć z "$finalimg"

Po drugie

imagecopyresized($finalimg, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height) or die();

*Odwołujesz się do zmiennej "$img", która wcześniej nie występuje, zamień to na "$image"

Z tymi poprawkami u mnie działa ! smile.gif Wesołego i szczęśliwego nowego roku życzę !
Aysorth
Porażka kompletna i wstyd przeokrutny. Dzięki za pomoc, smacznego jajka. smile.gif
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.