Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: blad przy uploadzie gifa
Forum PHP.pl > Forum > Przedszkole
blizniak
Witam
mam takie pytanko co w tej funkcji jest zle
  1. <?php
  2.  
  3. function imgType($name)
  4. {
  5.     $roz = strtolower(substr($name,-4));
  6.    if($roz == '.jpg' || $roz == 'jpeg' || $roz == '.jpe')
  7.    {
  8.       return "IMAGETYPE_JPEG";
  9.    }
  10.    elseif($roz == '.gif')
  11.    {
  12.       return "IMAGETYPE_GIF";
  13.    }
  14.    elseif($roz == '.png')
  15.    {
  16.       return "IMAGETYPE_PNG";
  17.    }
  18. }
  19.  
  20.  
  21.  
  22. function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 90)
  23. {
  24.    /*
  25.     * source - obrazek jpeg
  26.     * max_x - maksymalna szerokosc pomniejszonego obrazka
  27.     * max_y - maksymalna dlugosc pomniejszonego obrazka
  28.     * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
  29.     * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
  30.     */
  31.  
  32.     if (imgType($source) == "IMAGETYPE_JPEG"){
  33.         $img_src = imagecreatefromjpeg($source);
  34.     } else if (imgType($source) == "IMAGETYPE_GIF"){
  35.         $img_src = imagecreatefromgif($source);
  36.     } else if (imgType($source) == "IMAGETYPE_PNG"){
  37.         $img_src = imagecreatefrompng($source);
  38.     } else {
  39.         die('Wrong filetype! Accepted images: JPG/JPEG, GIF, PNG');
  40.     }
  41.  
  42.     $image_x = imagesx($img_src);
  43.     $image_y = imagesy($img_src);
  44.     if($image_x > $image_y) { // Landscape
  45.         $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1;
  46.         $ratio_y = $ratio_x;
  47.         $move = 'y';
  48.     } else { // Portrait
  49.         $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1;
  50.         $ratio_x = $ratio_y;
  51.         $move = 'x';
  52.     }
  53.     $new_x = $image_x*$ratio_x;
  54.     $new_y = $image_y*$ratio_y;
  55.  
  56.     $new_img = imagecreatetruecolor($new_x, $new_y);
  57.     imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $new_x, $new_y, $image_x, $image_y);
  58.  
  59.     if(imgType($save_image) == "IMAGETYPE_JPEG") {
  60.         imagejpeg($new_img, $save_image, $jpeg_quality);
  61.     } else if (imgType($save_image) == "IMAGETYPE_GIF") {
  62.         imagegif($new_img, $save_image);
  63.     } else if (imgType($save_image) == "IMAGETYPE_PNG") {
  64.         imagepng($new_img, $save_image);
  65.     }
  66.  
  67.     //echo '<img src="'.$save_image.'" border="1">';
  68. }
  69.  
  70. ?>

bo jak robie upload np jakiegos jpg to wszystko jest dobrze ale jak robie
upload *.gif to wtedy wywala cos takiego
Kod
Fatal error: Call to undefined function: imagegif() in ./funkcje.php on line 62

w formularzu mam takie cos
Kod
ENCTYPE="multipart/form-data" ACCEPT="image/gif, image/jpeg"
Sabistik
GD obslugiwalo gify do wersji 1.3, potem ze wzgledow patentowych (czyt kasa) wsparcie dla tego formatu zostalo wycofane.
blizniak
a jest jakas mozliwosc zeby to mozna jakos zrobic czy nic nie da sie zrobic ?
Jojo
Sabistik: Małe sprostowanie
Cytat
Note: GIF support was removed from the GD library in Version 1.6, and added back in Version 2.0.28. This function is not available between these versions.

Obsługa gifów jest w najnowszych wersjach biblioteki GD. Proponuję aktualizację biblioteki i wszystko powinno chodzić.
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.