Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Generowanie miniaturek - GD
Forum PHP.pl > Forum > PHP
bocian
Witam, o to mój pierwszy post na forum, więc prosze o wyrozumiałość. Potrzebne mi jest generowanie miniaturek, przejrzałem forum, poczytałem i znalazlem maly skrypt który generuje miniaturki, ale w locie, i wyświetla tylko jedną. Próbowałem przerobić go tak żeby wyświetlał wszystkie miniaturki zapisane w bazie, oraz zeby zapisywał je do danego folderu. W php jestem na 'dopuszczający' więc napewno moje starania są nędzne. Bardzo prosze o pomoc, jak zrobic zeby pokazywał wszystkie miniaturki i zapisywał je do katalogu. O to ten skrypt [zmodyfikowany troche przezemnie]. :)

  1. <?php
  2. mysql_connect('localhost','root','bocian');
  3. mysql_select_db('album');
  4. $zapytanie = mysql_query("SELECT * from upload");
  5. while($wiersz = mysql_fetch_row($zapytanie))
  6. {
  7. $sciezka = "upload/$wiersz[1]";
  8. list($szerokosc, $wysokosc, $type, $attr) = getimagesize($sciezka); // pobranie atrybutow obrazka
  9. $nowa_wysokosc = 120; // wysokosc miniaturki
  10. $nowa_szerokosc = ceil(($nowa_wysokosc*$szerokosc)/$wysokosc);
  11. $duzy = imagecreatefromjpeg("$sciezka");
  12. $nowy = imagecreatetruecolor($nowa_szerokosc, $nowa_wysokosc);
  13. imagecopyresampled($nowy, $duzy, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);
  14.  
  15. header("Content-type: image/jpeg");
  16. header("Content-disposition: filename="$wiersz[1]"");
  17.  
  18. imagejpeg($nowy,"", 80); // 80 to jakosc miniaturki (od 0-100)
  19. ImageDestroy($duzy);
  20. ImageDestroy($nowy);
  21.  
  22. }
  23. move_uploaded_file($_FILES['$wiersz[0]']['mini'],"upload/mini".$_FILES['$wiersz[0]']['mini']); 
  24. ?>

W oczekiwaniu na odpowiedź - pozdrawiam, bocian
mike
Jeśli chodzi o zapis to poczytaj dokumentację: imagejpeg() (bądź innych tego typu funkcji)

Jeśli chodzi o wyświetlanie to masz przykład wyświetlania kilku obrazków:

image.php
  1. <?php
  2.  
  3. $resImg = imagecreatetruecolor( 10, 10 );
  4.  
  5. $arrColors = array();
  6. $arrColors[] = imagecolorallocate( $resImg, 23, 98, 213 );
  7. $arrColors[] = imagecolorallocate( $resImg, 123, 198, 213 );
  8. $arrColors[] = imagecolorallocate( $resImg, 233, 8, 13 );
  9.  
  10. shuffle( $arrColors );
  11.  
  12. imagefill( $resImg, 0, 0, $arrColors[ 0 ] );
  13.  
  14. header( 'Content-type: image/png' );
  15. imagepng( $resImg );
  16. imagedestroy( $resImg );
  17.  
  18. ?>


  1. <img src="image.php" alt="" />
  2. <img src="image.php" alt="" />
  3. <img src="image.php" alt="" />
bocian
Wielkie dzięki, ale troszke mnie ta odpowiedź nie satysfakcjonuje, bo chcialem jednak przerobic ten skrypt, a ten który mi podałeś/podałaś jest zupełnie inny. Moze ktoś jeszcze pokusi sie o odpowiedź, i powie co dopisać/zmienić/przeczytać zeby tamten skrypt chodził. Dzieki!
ActivePlayer
poszukaj w algorytmy/klasy/funkcje. jest tam temat 'generowanie miniaturek' a w postach znajdziesz przykład jak uzywac tamtej funkcji by wyswietlic pliki z folderu itp itd.
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.