Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ustawienie skryptu do miniatur jako link...
cfkr
post 13.01.2006, 01:12:58
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 7.01.2006

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


Witam.. mecze sie i mecze aby miniaturkę.. ktora w czasie rzeczywistym tworzy ten skrypt objac jakos znacznikami a. w rozne sposoby probowalem, ale za cholere mi to nie wychodzi:( czy ktos moze mi pomoc?

oto kod skryptu:


  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. include("../config.php");
  7.  
  8. $link = mysql_connect($host, $name, $pass);
  9. $tmp = mysql_select_db($dbname);
  10.  
  11.  
  12. $result = mysql_query('
  13. SELECT *
  14. FROM mini
  15. order by ID desc
  16. limit 1;');
  17. while ($row = mysql_fetch_assoc($result))
  18. {
  19.  
  20. $url = $row["nazwa"];
  21.  
  22. $imgname = $url;
  23. // adres pliku przekazywany za pomocą parametru pic metodą GET, [edit.. adres leci
     z bazy]
  24. // np. thumb.php?pic=obrazek.jpg
  25.  
  26. $x_scale = 150;
  27. // szerokość miniaturki. Wysokość zostanie obliczona
  28. // automatycznie. Jeśli chcemy w różnych miejscach mieć różną
  29. // szerokość zastosujmy $x_scale = $_GET["width"]. Wtedy
  30. // szerokość będzie przekazywana parametrem width za pomocą
  31. // metody GET
  32.  
  33. $check = @GetImageSize($imgname);
  34. // tą funkcją wyciągamy istotne wiadomości (znak @ zapobiega
  35. // wyświetleniu błędu, gdy nie ma danego pliku). Wynikiem jest
  36. // tablica
  37.  
  38. $width = $check[0];
  39. // szerokość obrazka.
  40.  
  41. $height = $check[1];
  42. // wysokość obrazka
  43.  
  44. $mime = $check[2];
  45. // rodzaj obrazka (gif, jpeg, png...)
  46.  
  47. if ($height > 0) {
  48. // jeśli szerokość jest większa od zera...
  49.  
  50. $factor = $width/$height;
  51. // ...dzielimy szerokość przez wysokość...
  52.  
  53. $y_scale= @floor($x_scale/$factor);
  54. // ...a następnie obliczamy wysokość i zaokrąglamy w dół
  55.  
  56. } else {
  57. // Jeśli szerokość jest mniejsza lub równa zeru...
  58.  
  59. $y_scale=30;
  60. // ...wysokość miniaturki ma wartość 30...
  61.  
  62. $width=$x_scale;
  63. // ...szerokość "oryginału" jest równa szerokości miniaturki...
  64.  
  65. $height=30;
  66. // ... a wysokość równa 30.
  67.  
  68. }
  69.  
  70. function LoadImage($imgname) {
  71. // Tworzymy nową funkcję odczytującą zawartość obrazka
  72.  
  73. global $mime, $width, $height;
  74. // potrzebny będzie rodzaj obrazka i wymiary oryginału
  75.  
  76. switch($mime){
  77. // jeśli wartość zmiennej mime wynosi:
  78.  
  79. case 1:
  80. // 1
  81.  
  82. $im = @ImageCreateFromGif($imgname);
  83. // Wczytaj zawartość GIFa $imgname do zmiennej $im
  84.  
  85. break;
  86. // i zakończ pstryczka :)
  87.  
  88. case 2:
  89. // jeśli wartość wynosi 2
  90.  
  91. $im = @ImageCreateFromJpeg($imgname);
  92. // Wczytaj zawartość JPEGa $imgname do zmiennej $im
  93.  
  94. break;
  95. //i zakończ pstryczka
  96.  
  97. case 3:
  98. // Jeśli wartość wynosi 3
  99.  
  100. $im = @ImageCreateFromPng($imgname);
  101. // Wczytaj zawartość pliku PNG $imgname do zmiennej $im
  102.  
  103. break;
  104. // i zakończ pstryczka
  105.  
  106. default:
  107. // gdy wartość jest inna
  108.  
  109. $im = false;
  110. // nie wczytuj nic do zmiennej $im
  111.  
  112. break;
  113. // i zakończ pstryczka
  114. }
  115.  
  116. if (!$im) {
  117. // jeśli nie istnieje zmienna $im
  118.  
  119. $im = ImageCreate($width, $height);
  120. // Utwórz w zmiennej $im obrazek o rozmiarach zdefiniowanych
  121. // wcześniej
  122.  
  123. $bgc = ImageColorAllocate ($im, 255, 255, 255);
  124. // zapisz w zmiennej $bgc biały kolor (tło)
  125.  
  126. $tc = ImageColorAllocate ($im, 0, 0, 0);
  127. // zapisz w zmiennej $tc czarny kolor
  128.  
  129. ImageString($im, 2, 2, 2, "Błąd: $imgname", $tc);
  130. // wypisz komunikat
  131.  
  132. ImageString($im, 2, 2, 15, "Brak pliku!", $tc);
  133. // o błędzie
  134.  
  135. }
  136.  
  137. return $im;
  138. // funkcja zwróci obrazek
  139.  
  140. }
  141.  
  142. function ShowThumb($imgname) {
  143. // tworzymy funkcję tworzącą miniaturki
  144.  
  145. global $x_scale, $y_scale, $width, $height;
  146. // będą potrzebne wymiary miniaturki i oryginału
  147.  
  148. $thumb = ImageCreateTrueColor($x_scale,$y_scale);
  149. // Utwórz w zmiennej $thumb obrazek w palecie True Color
  150. // o wymiarach miniaturki
  151.  
  152. ImageCopyResampled($thumb, LoadImage($imgname), 0, 0, 0, 0,
  153.  $x_scale, $y_scale, $width, $height);
  154. // skopiuj i pomniejsz (wygładź) obrazek do zmiennej $thumb
  155.  
  156. return $thumb;
  157. // funkcja zwraca miniaturkę
  158.  
  159. }
  160.  
  161. if (function_exists("imagegif")) {
  162. // Jeśli serwer obsługuje funkcję tworzenia GIFów
  163.  
  164. Header("Content-type: image/gif");
  165. // wyślij nagłówek GIFa
  166.  
  167. ImageGIF(ShowThumb($imgname));
  168. // przetwórz obrazek na GIFa i zwróć go
  169.  
  170. }
  171.  
  172. elseif (function_exists("imagejpeg")) {
  173. // Jeśli serwer obsługuje funkcję tworzenia JPEGów
  174.  
  175. Header("Content-type: image/jpeg");
  176. // wyślij nagłówek JPEGa
  177.  
  178. ImageJPEG(ShowThumb($imgname), "", 80);
  179. // przetwórz obrazek na JPEGa i zwróć go (liczba 80 to jakość
  180. // obrazka)
  181.  
  182. }
  183.  
  184. elseif (function_exists("imagepng")) {
  185. // Jeśli serwer obsługuje funkcję tworzenia plików PNG
  186.  
  187. Header("Content-type: image/png");
  188. // wyślij nagłówek PNG
  189.  
  190. ImagePNG(ShowThumb($imgname));
  191. // przetwórz obrazek na PNG i zwróć go
  192. }
  193. else
  194. // w przeciwnym wypadku
  195.  
  196. die("Ten serwer nie obsługuje funkcji graficznych w php");
  197. //zwróć komunikat o błędzie.
  198.  
  199.  
  200. }
  201.  
  202. ?>
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 19:48