Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ostatnio dodane zdjęcia - pobiranie URL miniaturki
Forum PHP.pl > Forum > Przedszkole
-jokker-
Witam serdecznie, mam stronę opartą na Wordpressie, na której co jakiś czas pojawiają się nowe wpisy (serwis informacyjny). Do wpisów zawsze dołączona jest ikona wpisu (jeden obrazek), a czasami dodatkowo galeria. Dla uatrakcyjnienia strony w sidebarze mam box z ostatno dodanymi 9-cioma zdjęciami z galerii. Zdjęcią wczytują się poprzez bazę danych:

  1. <div class="box-2">
  2. <div class="box-padding7">
  3. <div class="wrapper prev-indent-bot0">
  4. <?php
  5. $i=1;
  6. mysql_connect("localhost","NAZWA-BD","HASLO-BD");
  7. mysql_select_db("NAZWA-BD");
  8. $wyniki = mysql_query("SELECT * FROM `wp_gallery_pics` ORDER BY pic_id DESC LIMIT 9");
  9. while($row = mysql_fetch_array($wyniki)){
  10.  
  11. echo '<div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  12. <figure class="rel"><a href="'.$row['thumbnail_url'].'" title="" data-gal="prettyPhoto[gallery1]"><img src="'.$row['thumbnail_url'].'" width="89" height="62"><span class="stroke"></span></a></figure>
  13. </div>';
  14.  
  15. if($i % 2 == 3) {
  16. echo '</div>
  17. <div class="wrapper prev-indent-bot0">';
  18. }
  19.  
  20. $i++;
  21. }
  22.  
  23. ?>
  24. </div>
  25. </div>


Wynik:

  1. <div class="box-2">
  2. <div class="box-padding7">
  3. <div class="wrapper prev-indent-bot0">
  4. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  5. <figure class="rel">
  6. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-17.jpg" title="" data-gal="prettyPhoto[gallery1]">
  7. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-17.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  8. </div>
  9. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  10. <figure class="rel">
  11. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-16.jpg" title="" data-gal="prettyPhoto[gallery1]">
  12. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-16.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  13. </div>
  14. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  15. <figure class="rel">
  16. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-15.jpg" title="" data-gal="prettyPhoto[gallery1]">
  17. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-15.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  18. </div>
  19. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  20. <figure class="rel">
  21. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-14.jpg" title="" data-gal="prettyPhoto[gallery1]">
  22. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-14.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  23. </div>
  24. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  25. <figure class="rel">
  26. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-13.jpg" title="" data-gal="prettyPhoto[gallery1]">
  27. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-13.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  28. </div>
  29. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  30. <figure class="rel">
  31. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-11.jpg" title="" data-gal="prettyPhoto[gallery1]">
  32. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-11.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  33. </div>
  34. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  35. <figure class="rel">
  36. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-12.jpg" title="" data-gal="prettyPhoto[gallery1]">
  37. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-12.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  38. </div>
  39. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  40. <figure class="rel">
  41. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-10.jpg" title="" data-gal="prettyPhoto[gallery1]">
  42. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-10.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  43. </div>
  44. <div class="col-3" style="padding-left:5px; padding-bottom:5px;">
  45. <figure class="rel">
  46. <a href="http://domena.pl/wp-content/uploads/2014/02/zdjecie-9.jpg" title="" data-gal="prettyPhoto[gallery1]">
  47. <img src="http://domena.pl/wp-content/uploads/2014/02/zdjecie-9.jpg" width="89" height="62"><span class="stroke"></span></a></figure>
  48. </div>
  49. </div>
  50. </div>


Obecnie miniautrka zmniejszana jest z oryginalnego zdjęcia do wymiarów width="89" height="62" przez co strona bardzo długo się ładuje. Chcałbym uzyskać taki efekt, aby na stronie ładowały się minaturki bez zminejszania, tzn żeby generowały się dwa pliki ze zdjęciem: jedno oryginalne np. 1024x768 i miniaturka 89x62. Samą gereację pliku miniturki udło mi się już zrobić poprzez dodanie do pliku functions.php w templatce wordpress kodu
  1. add_image_size('miniaturka-box', 89, 62, true); // szerokość 89 pikseli, wysokość 62 pikseli, kadrowany


Z tym że nie wiem jak pobrać adres URL tej miniaturki. Pomyślałem sobie że możnaby było np. podmienić nazwę pliku w miejscu wywołania adresu URL obrazka,
zmieniąjąc z np.
zdjecie-17.jpg na zdjecie-17-89x62.jpg,
czyli używając jakiejś funkcji, która podmieniałaby ".jpg" na "-89x62.jpg"
Nazwy zdjęć się zmieniają w zależności od nazwy galerii, natomiast ".jpg" zawsze się powtarza. Miniaturki z końcówką "-89x62.jpg" też zawsze się generują.

I teraz ptanie: jak zmodyfikować kod, aby na stronie w adresie miniaturki pojawiała się końcówka "-89x62.jpg". Próbowałm z str_replace, ale nie do końca mi to wychodzi - w dziedzinie php jestm początkującym.
Będę wdzięczny za wszystkie rady i sugestie!

IProSoft
  1. while($row = mysql_fetch_array($wyniki)){
  2. $row['thumbnail_url'] = substr( $row['thumbnail_url'], 0, -4 ) . '-89x62.jpg';
  3. .
  4. .
  5. .
-jokker-
Działa, dziękuję bardzo!
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.