Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Kod automatyzacji
Forum PHP.pl > Forum > Przedszkole
amedin
Witam,
mam taki kod:
  1. <li>
  2. <a class="thumb" name="leaf" href="duży_obrazek.jpg" >
  3. <img src="miniaturka" />
  4. </a>
  5. <div class="caption">
  6. </div>
  7. </li>


Potrzebuję go do galerii.
Jak napisać w php kod który będzie tworzył tyle takich kodów jak wyżej ile będzie plików w moim katalogu ze zdjęciami. Powiedzmy katalog images i thumb i wiadomo w jednym fotki w drugik miniatury i kod który stworzy takie kody jak powyżej dla każdego z tych zdjęć z mojego katalogu obrazków.
kadlub
pewnie robisz galerie że po kliknięciu na miniaturkę pokazuje ci sie zdjęcie w pełnym rozmiarze

nie wiem czy ten sposób który ci zaproponuje będzie ci pasował
więc masz dwa katalogi jeden z miniaturkami a drugi z normalnymi zdjęciami
i tak zdjęcie w katalogu z miniaturkami ma swój odpowiednik o takiej samej nazwie w katalogu z orginalnymi zdjęciami
jeśli tak zrobisz to odczytujesz zdjęcia z katalogu z miniaturkami i tylko zmieniasz nazwy katalogów bo nazwa pliku jest taka sama
  1. $nazwakatalogu = "miniaturki";
  2.  
  3. $d=opendir($nazwakatalogu) or die ("nie mogę owtorzyc katalogu");
  4.  
  5. while (!(($plik = readdir($d))== false)) {
  6. echo'<li>
  7. <a class="thumb" name="leaf" href="orginal/'.$plik.'" >
  8. <img src="miniaturki/'.$plik.'" />
  9. </a>
  10. <div class="caption">
  11. </div>
  12. </li>';
  13. }
amedin
  1. <div id="thumbs" class="navigation">
  2. <a class="pageLink prev" style="visibility: hidden;" href="#" title="Previous Page"></a>
  3. <ul class="thumbs noscript">
  4. <?
  5. $nazwakatalogu = "fotografia/miniaturki";
  6. $d=opendir($nazwakatalogu) or die ("nie mogę owtorzyc katalogu");
  7. while (!(($plik = readdir($d))== false)) {
  8. echo'<li>
  9. <a class="thumb" href="fotografia/orginal/'.$plik.'" >
  10. <img src="fotografia/miniaturki/'.$plik.'" />
  11. </a>
  12. </li>';
  13. }
  14. ?>
  15. </ul>
  16. <a class="pageLink next" style="visibility: hidden;" href="#" title="Next Page"></a>
  17. </div>


Tak wygląda mój kod po podstawieniu do galerii. Mam jednak problem. Fajnie wczytują się zdjęcia, ale dodają się jakieś dodatkowe dwa co jakiś czas. Bez obrazka rzecz jasna bo go nie ma wkatalogu. Skąd one?
kadlub
musisz zrobić mu filtr żeby ci wyświetlał tylko pliki z rozszerzeniem gif, jpg, png czyli jeden if
amedin
  1. if ($_FILES['file']['type'] == 'image/gif')

Coś takiego? Tylko gdzie to dodać? Naprawdę nie mam pojęcia o php. Albo jakiś manual czy coś podajcie to jakoś to rozkminię.
rangoo
Te 2 pliki to "." (docelowy katalog) i ".." (katalog powyżej). Wystarczy w tym Twoim kodzie dodać brak obsługi dla tych plików:
  1. <div id="thumbs" class="navigation">
  2. <a class="pageLink prev" style="visibility: hidden;" href="#" title="Previous Page"></a>
  3. <ul class="thumbs noscript">
  4. <?
  5. $nazwakatalogu = "fotografia/miniaturki";
  6. $d=opendir($nazwakatalogu) or die ("nie mogę owtorzyc katalogu");
  7. while (!(($plik = readdir($d))== false)) {
  8. if($plik != '.' && $plik != '..') {
  9. echo'<li>
  10. <a class="thumb" href="fotografia/orginal/'.$plik.'" >
  11. <img src="fotografia/miniaturki/'.$plik.'" />
  12. </a>
  13. </li>';
  14. }
  15. }
  16. ?>
  17. </ul>
  18. <a class="pageLink next" style="visibility: hidden;" href="#" title="Next Page"></a>
  19. </div>
amedin
Dzięki panowie, jest idealnie. Punkty "Pomógł" rozdane. Można zamknąć temat. Wspaniałe forum, dzięki jeszcze raz za pomoc.

Chłopaki ma pytanie. Mam galerię w highslide z miniaturkami. Wczytują mi się z określonego katalogu. Jak zrobić aby wyniki były posortowane według nazw np. malejaco.

Kod mam taki:

  1. <div class="block">
  2. <?php
  3. $dir = 'galleries/layouts';
  4. $dir2 = 'galleries/layouts_min';
  5. $filenames = scandir($dir);
  6. $o = '<div class="tab3">';
  7. for ($i=2; $i<count($filenames); $i++){
  8. if ($i % 4 == 2)
  9. $o .= '<div class="tab">';
  10. $o .= '<div class="tab2"><a href="'.$dir.'/'.$filenames[$i].'" class="highslide" onclick="return hs.expand(this)"><img class="webimg" src="'.$dir2.'/'.$filenames[$i].'" alt="'.$filenames[$i].'"/></a></div>';
  11. if ($i % 4 == 1 || $i == count($filenames) - 1)
  12. $o .= '</div>';
  13. }
  14. $o .= '</div>';
  15. echo $o;
  16. ?>
  17. </div>


Czytałem, że muszę to wczytać do tablicy? Czy to prawda czy mogę tutaj dodać jakoś funkcję sortowania wyników?

Sorki, podbije temat jeszcze raz jeśli można smile.gif

Podbijam smile.gif
Vhaeraun
Wydaje mi się, że zwykły sort wystarczy (pierwszy przykład pokazuje jak łatwo posortować stringi).
Jak pobierzesz nazwy plików, to wczytaj je do tablicy, posortuj i potem przy użyciu tego for'a (albo foreach) uzupełnij tą zmienną $o odpowiednimi linkami.
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.