Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zliczanie ilości odsłon
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


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. }



Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
john_doe
post
Post #3





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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ł
Go to the top of the page
+Quote Post
john_doe
post
Post #5





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


mam pomysł jak to wykonać z małą wątpliwością (IMG:style_emoticons/default/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..
Go to the top of the page
+Quote Post
karolrynio
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


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....
Go to the top of the page
+Quote Post
tehaha
post
Post #7





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 09:38