Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Miniaturkowanie
Forum PHP.pl > Forum > Przedszkole
mefjiu
Witam mój problem polega na tym iż, użytkownik dodający avatr, zdjęcie do serwisu będzie dodawał w różnych formatach tzn jpeg ,gif, png. i do tego w funkcji dopisałem coś takiego

  1. <?php
  2. $k=explode(".",$img_src);
  3.  
  4. if(strpos($k[1],"jpg")===|| strpos($k[1],"jpeg")===0){
  5. $img =imagecreatefromjpeg("$img_src");
  6. $ok[] = "wyszło jpg";
  7. }
  8. elseif(strpos($k[1],"gif")===0){
  9. $img =imagecreatefromgif("$img_src");
  10. $ok[] = "wyszło gif";
  11. }
  12. elseif(strpos($k[1],"png")===0){
  13. $img =imagecreatefrompng("$img_src");
  14. $ok[] = "wyszło png";
  15. }
  16. else{
  17.  return false;
  18. }
  19. ?>

wszystko działa ok ale problem pojawia się w trwożeniu miniaturki tzn tworzy ją poprawnie ale w złym formacie. Tworzą ją w formacie takim jakim dodał użytkownik, a ja chciałbym wszystkie miniaturki konwertować do JPG.

Aktualnie jest tak że jak ktoś doda zdjęcie png to na koniec dostanie tez zdjęcie pnd ale pomniejszone, powinien dostać pomniejszone jpg


Cały kod wygląda tak:

  1. <?php
  2. function conwertimage($img_src,$add_src,$width_mini,$height_mini){
  3. $k=explode(".",$img_src);
  4.  
  5. if(strpos($k[1],"jpg")===|| strpos($k[1],"jpeg")===0){
  6. $img =imagecreatefromjpeg("$img_src");
  7. $ok[] = "wyszło jpg";
  8. }
  9. elseif(strpos($k[1],"gif")===0){
  10. $img =imagecreatefromgif("$img_src");
  11. $ok[] = "wyszło gif";
  12. }
  13. elseif(strpos($k[1],"png")===0){
  14. $img =imagecreatefrompng("$img_src");
  15. $ok[] = "wyszło png";
  16. }
  17. else{
  18.  return false;
  19. } 
  20.  
  21. $width = imagesx($img);
  22. $height = imagesy($img);
  23.  
  24. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  25.  
  26. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini, $height_mini, $width , $height);
  27.  
  28. imagejpeg($img_mini, $add_src, 80);
  29. imagedestroy($img);
  30. imagedestroy($img_mini);
  31. }
  32. ?>


Z góry dziękuję za pomoc
nowotny
A co masz w zmiennej $add_src...? Poza tym masz buga - jeśli ktoś załaduje plik z nazwą np. "moje.super.zdjecie.jpg" funkcja ci się posypie... zainteresuj się funkcją pathinfo" title="Zobacz w manualu PHP" target="_manual...
marcio
  1. <?php
  2. $folder = '/odebrane/'.$_FILE['plik1']['tmp_name'];
  3. $explode = explode('.', $_FILES['plik1']['name']);
  4. $extension = $explode[sizeof($explode)-1];
  5. if($extension == 'jpg' || $extension == 'gif' || $extension == 'png') { 
  6. move_uploaded_file($_FILE['plik1']['tmp_name'], $folder);
  7. //dalesz dzialania
  8. }
  9. ?>

Cos takiego tak chyba najlatwiej
mefjiu
Faktycznie z tym bugiem. Dzięi bede kombinował inaczej.
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.