Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Automatyczne tworzenie miniaturki z innej miniaturki
Forum PHP.pl > Forum > Przedszkole
jacus24
Witam mam taki kod który zapisuje zdjęcia i tworzy miniaturki do katalogu thumbs.
  1. <?php
  2. // udostępnienie zmiennych
  3. // udostępnienie zmiennych
  4. $_POST['user_id'] = $_SESSION['user_logged'];
  5. $nazwa_zdjecia = $_POST['nazwa_zdjecia'];
  6. $user_id = $_POST['user_id'];
  7. $image_tempname = $_FILES['image_filename']['name'];
  8. $today = date("Y-m-d");
  9.  
  10. // umieszczenie obrazu i sprawdzenie jego formatu
  11. $ImageDir ="C:/usr/krasnal/www/strona/zdjecia/";
  12. $ImageThumb = $ImageDir . "thumbs/";
  13. $ImageName = $ImageDir . $image_tempname;
  14.  
  15. if (move_uploaded_file($_FILES['image_filename']['tmp_name'],
  16.  $ImageName)) {
  17.  
  18. // pobranie informacji na temat umieszczonego obrazu
  19. list($width , $height , $type , $attr) = getimagesize($ImageName);
  20.  
  21.  
  22.  
  23. if ($type > 3) {
  24. echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub PNG<br>";
  25. } else {
  26.  
  27. //obraz jest w poprawnym formacie można kontunuować
  28.  
  29. // wstawienie informacji do tabeli images
  30.  
  31. $insert = "INSERT INTO images
  32.  (nazwa_zdjecia, user_id, image_date)
  33.  VALUES
  34.  ('$nazwa_zdjecia', '$user_id', '$today')";
  35. $insertresults = mysql_query($insert)
  36. or die(mysql_error());
  37.  
  38. $lastpicid = mysql_insert_id();
  39.  
  40. $newfilename = $ImageDir . $lastpicid . ".jpg";
  41.  
  42.  if ($type == 2) {
  43. rename($ImageName , $newfilename);
  44. } else {
  45. if ($type == 1) {
  46. $image_old = imagecreatefromgif($ImageName);
  47. } elseif ($type == 3) {
  48. $image_old = imagecreatefrompng($ImageName);
  49. }
  50.  
  51. $image_jpg = imagecreatetruecolor($width, $height);
  52. imagecopyresampled($image_jpg, $image_old, 0,0,0,0,
  53. $width, $height, $width, $height);
  54. imagejpeg($image_jpg, $newfilename);
  55. imagedestroy($image_old);
  56. imagedestroy($image_jpg);
  57. }
  58. $newthumbname = $ImageThumb . $lastpicid . ".jpg";
  59.  
  60.  
  61. //pobierz wymiary miniaturki
  62. if ($width>$height)
  63. {
  64. $thumb_width = $width * 0.1;
  65. $thumb_height = $height * 0.1;
  66. }
  67. else
  68. {
  69. $thumb_width = $height * 0.1;
  70. $thumb_height = $width * 0.1;
  71. }
  72.  
  73.  
  74. //utworz miniaturke
  75. $largeimage = imagecreatefromjpeg($newfilename);
  76. $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
  77. imagecopyresampled($thumb, $largeimage, 0,0,0,0,
  78. $thumb_width, $thumb_height, $width, $height);
  79. imagejpeg($thumb , $newthumbname);
  80. imagedestroy($largeimage);
  81. imagedestroy($thumb);
  82.  
  83. $url = "location: showimage.php?id=" . $lastpicid;
  84. header($url);
  85. }
  86. }
  87. ?>

Czy da się tak zrobić aby w podkatalogu np thumbs2 tworzyła się jeszcze jedna miniaturka tego zdjęcia ale o innych wymiarach niż ta pierwsza?
nowotny
No pewnie... wywołaj kod który tworzy miniaturkę jeszcze raz i podaj mu inne wymiary... najlepiej to zrobić za pomocą własnej funkcji...
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.