Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie ilości odsłon
Forum PHP.pl > Forum > PHP
john_doe
Napisałem funkcję, dzięki której nawiguję po katalogach i gdy dojdę do folderu gdzie znajdują się zdjęcia .... wyświetlam miniaturki. Dalej można klepnąc w mini i lightboxem wyświetlam większe zdjęcie.
Chciałbym wzbogacić to cudo o podpis pod zdjęciem " ODSŁON xxx". Jak do tego podejść, nie używam bazy danych jak dotąd, czy zaprząc ją do tego czy jakoś inaczej

poniżej kod funkcji
  1.  
  2.  
  3. function readDirectoryAudience( $path )
  4. {
  5. $files = scandir( $path );
  6. //echo count($files); // tutaj zaczątek by wypisać, że KATALOG JEST PUSTY <-----
  7.  
  8. echo '<div id="menuList">
  9. <ul>
  10. <li><a href="index.php?level=../galleries">Go back...</a></li>
  11. </ul>
  12. </div><br /><br /><br />';
  13.  
  14. for( $i = 0 ; $i <= (count($files) - 1) ; $i++ )
  15. {
  16.  
  17. if( $files[$i] == '..' ) continue;
  18.  
  19. if( $files[$i] == '.' ) continue;
  20.  
  21.  
  22. if( !is_file( $path . $files[$i] ) )
  23. {
  24. if( $files[$i] == '.' ) continue;
  25.  
  26. echo '<div class="photo">';
  27.  
  28. echo '<div><a href="show.php?level=' . $path . $files[$i] . '">' . $files[$i] . '</a></div>';
  29.  
  30. echo '</div>';
  31. }
  32. else
  33. {
  34. if( substr ( $files[$i], 0, 5 ) != 'mini_' ) continue; // if isn`t a mini then continue
  35.  
  36.  
  37. echo '<div class="photo">';
  38.  
  39. echo '<div><a href="' . $path . substr( $files[$i], 5, 20 ) . '" rel="lightbox[roadtrip]">
  40.  
  41. <img src="' . $path . $files[$i] . '" />
  42. <a/></div>';
  43.  
  44. echo '</div>';
  45.  
  46. }
  47.  
  48. }
  49.  
  50. }



Pawel_W
IMHO najlepszym wyjściem byłoby zrobienie bazy danych, jeżeli nie to możesz zrobić inaczej - w katalogu ze zdjęciami tworzysz pliki tekstowe o nazwach jak zdjęcia i w nich trzymasz zliczone odsłony
john_doe
jak dotąd nie użyłem bazy danych co nie znaczy, że teraz do odsłon wykorzystać nie mogę. Pytanie co lepsze czyt. łatwiejsze i wydajniejsze. W każdej galerii będzie ok 100 zdjęć ( 100 plików txt ? sporo ) z kolei z db... co gdy będą zdjęcia o tej samej nazwie leżące w innym katalogu?
tehaha
to nie problem bo w bazie będziesz miał unikalne ID zdjęcia do którego będziesz przypisywał ilość odsłon, a oprócz tego będziesz trzymać jeszcze nazwę katalogu i nazwę zdjęcia na podstawie których będziesz je rozróżniał
john_doe
mam pomysł jak to wykonać z małą wątpliwością smile.gif
Generalizując sprawa sprowadza się do zrobienia UPDATE dla rekordu WHERE ściezka = get cos.....
gdzie zapodać instrukcję update kiedy klikająć w fotę lightbox otwiera się i już... tutaj nie kumam..
karolrynio
Kierujesz wszystko do pliku php i jako parametr podajesz adres zdjecia:np
Kod
<a href="pokaz_zdjecie.php?zdjecie=katalog/obrazek.jpg"></a>


A w pokaz_zdjecie.php:
  1.  
  2. $file = $_GET['zdjecie'];
  3.  
  4. // tutaj update ilości wyświetleń....
  5.  
  6. // pobranie tresci pliku wysłanie headers itp....
  7.  
  8.  


do wyświetlenia pliku możesz użyć readfile, a żeby wysłać odpowiednie nagłówki możesz pobrać informacje o pliku za pomocą getimagesize....
tehaha
Jeżeli masz galerię z lightboxem i chcesz żeby odsłona była liczona w momencie gdy ktoś kliknie na ikonkę i otworzy się lightbox to raczej byś potrzebował AJAXA, który po kliknięciu na ikonkę oprócz otworzenia lightboxa zrobi UPDATE w tle.
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.