Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][GD]Problem z miniaturkami
Forum PHP.pl > Forum > Przedszkole
gregor2010.eu
Mam standardowy skrypt miniatur:
  1. <?
  2. $max=120;
  3. $zrodlo=$_GET['foto'];
  4. $img=imagecreatefromjpeg($zrodlo);
  5. $x = imagesx($img);
  6. $y = imagesy($img); 
  7. if ($x>$max or $y>$max)
  8. {
  9. if($x >= $y)
  10. { 
  11. $skala=$x/$max;
  12. }
  13. else
  14. {
  15. $skala=$y/$max;
  16. }
  17. }
  18. else
  19. {
  20. $skala=1;
  21. }
  22. $nx = round($x/$skala);
  23. $ny = round($y/$skala); 
  24. $new_img = imagecreatetruecolor($nx, $ny); 
  25. imagecopyresampled($new_img, $img, 0, 0, 0, 0, $nx, $ny, $x, $y);
  26. Header("Content-type: image/jpeg");
  27. header("Content-disposition: filename=\"miniaturka.jpg\"");
  28. imagejpeg($new_img, null, 85); 
  29. imagedestroy($new_img);
  30. imagedestroy($img);
  31. ?>


I wszystko jest super, gdy na stronie jest do 4 miniatur. Gdy jest ich pięć lub więcej to niestety niektóre miniatury nie są wyświetlane. sciana.gif

Może ma ktoś pomysł na modernizację powyższego skryptu? A może jakieś inne propozycje do wyświetlania miniatur??
jarek_bolo
Domyślam się, że skrypt ten wstawiasz w znacznik <img /> w atrybut src="foto.php?foto=plik.jpg" ?

Po pierwsze według mnie lepiej napisać dodawanie obrazków w taki sposób aby tworzyło miniaturkę na dysku podczas dodawania.

Niepoprawny nagłówek wysyłasz. Tutaj masz instrukcje co i jak: http://www.faqs.org/rfcs/rfc1806.html
Zgodnie z tym co piszą w linku który podałem to brakuje Ci disposition-type.

Spróbuj tego:
  1. <?php
  2. header('Content-disposition: inline; filename="miniaturka.jpg"');
  3. ?>
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.