Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Miniaturka obrazka
Forum PHP.pl > Forum > Przedszkole
ultramega-ok
Wiem, że otym juz wiele razy było, przeglądałem tematy, ale nadal nie wiem co robię źle.

Mam skrypt z jednej ze stron. Wygląda on tak:

skrypt.php
  1. <?php
  2. define('THUMBNAIL_SIZE', 150);
  3.  
  4. if( !isset($_GET['fileName']) || !file_exists($_GET['fileName']) )
  5. die("nie ma sciezki: ".$fileName);
  6.  
  7. $pathInfo = pathinfo($_GET['fileName']);
  8. if( $pathInfo['extension'] == 'jpg' )
  9. $pathInfo['extension'] = 'jpeg';
  10. if( !function_exists( ($fName = 'imagecreatefrom'.$pathInfo['extension']) ) )
  11. die("nie ma takiej funkcji.");
  12.  
  13. $imgHandle = $fName($_GET['fileName']);
  14. $ratio = ($imgW = imagesx($imgHandle)) / ($imgH = imagesy($imgHandle));
  15. if ($ratio > 1)
  16. {
  17. $newImgW = THUMBNAIL_SIZE;
  18. $newImgH = THUMBNAIL_SIZE / $ratio;
  19. }
  20. else
  21. {
  22. $newImgW = THUMBNAIL_SIZE * $ratio;
  23. $newImgH = THUMBNAIL_SIZE;
  24. }
  25. $newImageHandle = imagecreatetruecolor( $newImgW, $newImgH );
  26. imagecopyresampled($newImageHandle, $imgHandle,
  27. 0, 0, 0, 0, $newImgW, $newImgH, $imgW, $imgH);
  28.  
  29. header('Content-type: image/'.$pathInfo['extension']);
  30. $fName = 'image'.$pathInfo['extension'];
  31. $fName($newImageHandle);
  32. ?>


Ma on tworzyć miniaturkę obrazka, którego ścieżkę podajemy skryptowi przez zmienną. Jego użycie w pliku przegladaj.php wygląda u mnie tak:

  1. <?php
  2.  
  3. print '<img src="skrypt.php?fileName=tree.png" width="150" height="150" />';
  4.  
  5. ?>


Wszystko, tzn. skrypt.php, przegladaj.php oraz tree.png znajduje się w katalogu:
http://localhost/katalog/cms/

Skrypt zamiast wyswietlac miniaturkę wyswietla tylko windowsowy prostokat z czerwonym ixem. Pod prawym przyciskiem we właściwościach mogę tylko odczytać, że scieżka zamiast obrazka prowadzi do:
http://localhost/katalog/cms/skrypt.php?fileName=tree.png

Czy to znaczy, że obrazek-miniaturka wogóle nie jest tworzony, czy poprostu mam gdzieś jakiś głupi błąd, czy biblioteka GD mi nie działa, czy co?

p.s. Jeśli chodzi o GD to w pliku php.ini wszystko jest zaznaczone, php_gd2.dll się ładuje tak jak powinien.
crash
Zakomentuj header() i zobacz czy nie rzuca błędów.
ultramega-ok
I po zakomentowaniu i bez nie wywala żadnych błędów, ale za to po 1-2 odświeżeniach wyswietla miniaturke, potem znowu nie, potem znów wyświetla... Co jest? smile.gif
mielu
Cytat
  1. <?php
  2.  
  3. print '<img src="skrypt.php?fileName=tree.png" width="150" height="150" />';
  4.  
  5. ?>


witam a może powinieneś pobierać obrazek jpg a nie png, bo umnie ten skrypt działa umnie działa
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.