Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tworzenie miniaturek
Forum PHP.pl > Forum > PHP
1010
mam taki kod.

  1. <?php
  2. $obrazek = $_FILES['obrazek'];
  3.  
  4.  if($obrazek['type']=='image/jpeg')
  5.  {
  6. $source = @imagecreatefromjpeg($obrazek[tmp_name]);
  7.  }
  8.  elseif($obrazek['type']=='image/png')
  9.  {
  10. $source = @imagecreatefrompng($obrazek[tmp_name]);
  11.  }
  12.  elseif($obrazek['type']=='image/gif')
  13.  {
  14. $source = @imagecreatefromgif($obrazek[tmp_name]);
  15.  }
  16.  
  17.  if(imagesy($source)>imagesx($source))
  18.  {
  19. $new_height = 150;
  20. $new_width = floor(imagesx($source)*($new_height/imagesy($source)));
  21.  }
  22.  else
  23.  {
  24. $new_width = 150;
  25. $new_height = floor(imagesy($source)*($new_width/imagesx($source)));
  26.  }
  27.  $dest = imagecreatetruecolor($new_width,$new_height);
  28.  imagecopyresampled($dest,$source,0,0,0,0,$new_width,$new_height,imagesx($source),imagesy($source));
  29.  imagejpeg($dest,'../images/miniaturki/'.$id.'.jpg',99);
  30.  imagedestroy($source);
  31.  imagedestroy($dest);
  32.  
  33.  
  34.  $sciezka = '../images/duze/'.$id.'.jpg';
  35.  move_uploaded_file($obrazek[tmp_name], $sciezka);
  36. ?>

o mało klientowi nie nagadałem że jest chyba głupi i żeby nie wmawiał że nie działa... a okazało się że nie działa tylko pod IE...


[html]Warning: imagesy(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 156

Warning: imagesx(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 156

Warning: imagesy(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 164

Warning: imagesx(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 164

Warning: Division by zero in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 164

Warning: imagecreatetruecolor(): Invalid image dimensions in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 166

Warning: imagesx(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 167

Warning: imagesy(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 167

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 167

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 168

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 169

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/wm1/domains/wm.ultehost.net/public_html/zlecenia/vertigo/admin/index.php on line 170
Kicok
Wywal z kodu wszystkie małpy i poczytaj jeszcze raz błędy które ci się wysypią. Powinno tam być napisane, czemu imagecreatefromXXX() nie chce działać
1010
Dodam że pod firefoxem działa, a przecież to działa wszystko po stronie serwera...

Żadnych nowych błędów...
nospor
http://www.php.net/manual/pl/features.file-upload.php
Cytat
I discovered that Firefox reads the mime-type of a Jpeg-image as: image/jpeg While Internet Explorer reads it as: image/pjpeg

smile.gif
1010
YYY Już wiem w czym tkwi problem

zmodyfikowalem troche kod... wklejam kawałek

  1. <?php
  2. if($obrazek['type']=='image/jpeg')
  3.  {
  4. $source = imagecreatefromjpeg($obrazek[tmp_name]);
  5.  }
  6.  elseif($obrazek['type']=='image/png')
  7.  {
  8. $source = imagecreatefrompng($obrazek[tmp_name]);
  9.  }
  10.  elseif($obrazek['type']=='image/gif')
  11.  {
  12. $source = imagecreatefromgif($obrazek[tmp_name]);
  13.  }
  14.  else
  15.  {
  16. print "KATASTROFA!!!";
  17.  }
  18. ?>

i zwraca "KATASTROFA!!!"

dlaczego nie potrafi okreslic typu pliku?
dlaczego firefox potrafi?
nospor
@1010 czy ty przeczytales to co ci napisalem?
Wyraźnie masz napisane ze IE wali jpeg jako image/pjpeg
kwiateusz
a przeczytałeś to co nospor napisał? jesli rozumiesz po angielsku to przeczytaj jeszcze raz jesli nie to niech będzie... IE wysyła header ze jpg wg niego to image/pjpeg a nie image/jpeg

edit: hehe spóźniłem się smile.gif
1010
Kurde... Chyba mnie jakaś ślepota dopadła... Jak mogłem przeoczyć takie coś... To już chyba z przemęczenia... Ale właśnie sam do tego doszedłem. Ale dzięki...

A z png i innymi typami plików nie będzie takich problemów?
nospor
Cytat
A z png i innymi typami plików nie będzie takich problemów?
Kurka, a tego linka to ja wkleilem dla zabawy?
Cytat
Browsers intepret png upload type differently too eg. print_r() output from Mozilla 1.6 Array ( [name] => eg1.png [type] => image/png [tmp_name] => /var/tmp/phpIJd4FL [error] => 0 [size] => 66614 ) print_r() output from IE 6 Array ( [name] => eg1.png [type] => image/x-png [tmp_name] => /var/tmp/phpHJ04Dh [error] => 0 [size] => 66614 ) Note the difference of image/png and image/x-png type intepretation of the same image file.
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.