Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie miniatur, niby ok ale nie
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Witam,
Mam skrypt który tworzy miniatury. Kiedyś skopiowałem go z forum i dostosowałem do swoich potrzeb. Teraz chciałbym go jeszcze raz przerobić.
Chodzi generalnie o to, żeby tworzył miniatury jpg/jpeg, gif, png a jeśli się da to nawet tiff i bmp.
Niestety po testach sprawdziłem, że obrazki które mają rozszerzenia pisane z dużej litery (np. *.PNG) nie chcą się przekształcać.
Druga sprawa to taka, że nawet jeśli przerobi plik png to mimo tego, że daje rozszerzenie png jest on jpg'iem. Jak to sprawdzić? Przeciągnąłem obrazek na pasek firefoxa i na tabie jest napisane "nazwa, JPEG, rozdzielczość". Dziwne dlaczego JPEG skoro konwertowałem PNG. Przy niekonwertowanych PNG oczywiście firefox wyświetla normalnie PNG.

Oto kod:
  1. <?
  2. $width=$_POST['width'];
  3. $height=$_POST['height'];
  4. $file=$_POST['file'];
  5.  
  6. $arr = pathinfo('../'.$file);
  7.  
  8. if($arr["extension"]=="gif" || $arr["extension"]=="jpg" || $arr["extension"]=="png" || $arr["extension"]=="jpeg")
  9. {
  10.  
  11. function resize($files, $new_w, $new_h, $save,$quality)
  12. {
  13. if (!is_readable($files))
  14. {
  15. return FALSE;
  16. }
  17. $info = @getimagesize($files);
  18. switch ($info['mime'])
  19. {
  20. case "image/gif":
  21. $files = imagecreatefromgif($files);
  22. break;
  23. case "image/jpeg":
  24. $files = imagecreatefromjpeg($files);
  25. break;
  26. case "image/png":
  27. $files = imagecreatefrompng($files);
  28. break;
  29. }
  30. $old_x = imageSX($files);
  31. $old_y = imageSY($files);
  32.  
  33. $th = ImageCreateTrueColor($new_w, $new_h);
  34. @imagecopyresampled($th, $files, 0, 0, 0, 0, $new_w, $new_h, $old_x, $old_y);
  35. @imagejpeg($th, $save,$quality);
  36. @imagedestroy($files);
  37. @imagedestroy($th);
  38. return TRUE;
  39. }
  40. resize('../'.$file, $width, $height, '../'.$file, 90);
  41. }
  42. ?>

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 06:51