Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowanie zdjęcia i linku POMOC
Forum PHP.pl > Forum > PHP
BoczekZG
  1. <?php
  2.  
  3. if ($sciezka_do_katalogu = ('images/sale/zoom/max'));
  4.  
  5.  
  6. $n=0;
  7. if(@$d = opendir($sciezka_do_katalogu)){
  8.  
  9. while (!(($plik = readdir($d)) === false)) {
  10. if(stristr($plik, '.jpg') or stristr($plik, '.JPG') or stristr($plik, '.gif')){
  11. $n++;
  12. $losowe_zdjecie[$n] = "$plik";
  13. }
  14. }
  15.  
  16. if(!empty($losowe_zdjecie)) {
  17. $losowa_pozycja = array_rand($losowe_zdjecie);
  18.  
  19. echo "<p><a class=\"zoom\" href=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]\"><img src=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]\" width=400px ></a></p>";
  20. echo "<p><a href=\"/$losowe_zdjecie[$losowa_pozycja]\">Link do Zdjęcia</a></p>";
  21. }
  22. else echo 'Brak zdjęć';
  23. }
  24. else echo 'Błędna ścieżka do katalogu lub katalog nie istnieje.';
  25. ?>


Wszystko działa elegancko lecz link który generuje ma rozszerzenie .jpg a chciał bym żeby miał .php nie wiem jak to obejść próbowałem modyfikować dodawać argumenty ale wiecznie się coś psuło... Liczę na pomoc.
cudny

  1. if(stristr($plik, '.jpg') or stristr($plik, '.JPG') or stristr($plik, '.gif')){
  2. $n++;
  3. $losowe_zdjecie[$n] = "$plik";
  4. }

dla mnie bez sensu, wolałbym:
  1. $plikArray = explode('.',$plik);
  2. $last = count($plikArray)-1;
  3. switch($plikArray[$last]) {
  4. case('jpg'):
  5. case('jpeg'):
  6. case('JPG'):
  7. case('JPEG'):
  8. case('gif'):
  9. case('GIF'):
  10. $n++;
  11. unset($plikArray[$last]);
  12. $losowe_zdjecie[$n] = implode('.',$plikArray).'.php';
  13. break;
  14. }

Nie sprawdzałem na żywo ale powinno chulać biggrin.gif
BoczekZG
Prawie działa tyle że zdjęcie też jako rozszerzenie php wyświetla worriedsmiley.gif

  1. <?php
  2.  
  3. if ($sciezka_do_katalogu = ('images/sale/zoom/max'));
  4.  
  5.  
  6. $n=0;
  7. if(@$d = opendir($sciezka_do_katalogu)){
  8.  
  9. while (!(($plik = readdir($d)) === false)) {
  10.  
  11. $plikArray = explode('.',$plik);
  12. $last = count($plikArray)-1;
  13. switch($plikArray[$last]) {
  14. case('jpg'):
  15. case('jpeg'):
  16. case('JPG'):
  17. case('JPEG'):
  18. case('gif'):
  19. case('GIF'):
  20. $n++;
  21. unset($plikArray[$last]);
  22. $losowe_zdjecie[$n] = implode('.',$plikArray).'.php';
  23. break;
  24. }
  25. }
  26.  
  27. if(!empty($losowe_zdjecie)) {
  28. $losowa_pozycja = array_rand($losowe_zdjecie);
  29.  
  30. echo "<p><a class=\"zoom\" href=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]\"><img src=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]\" width=400px ></a></p>";
  31. echo "<p><a href=\"/$losowe_zdjecie[$losowa_pozycja]\">Link do Zdjęcia</a></p>";
  32. }
  33. else echo 'Brak zdjęć';
  34. }
  35. else echo 'Błędna ścieżka do katalogu lub katalog nie istnieje.';
  36. ?>
cudny
zamień linijkę:
  1. $losowe_zdjecie[$n] = implode('.',$plikArray).'.php';

na:
  1. $losowe_zdjecie[$n] = array('link' => implode('.',$plikArray).'.php', 'image' => $plik);

Teraz $losowe_zdjecie[$losowa_pozycja] jest tablicą czyli tam gdzie chcesz link dajesz $losowe_zdjecie[$losowa_pozycja]['link'] a tam gdzie obrazek dajesz $losowe_zdjecie[$losowa_pozycja]['image'].
Nie ładnie prosić o gotowce.
Kliknij pomógł i takie rzeczy to powinieneś sam wykombinować - przecież to proste, ehhh... sad.gif
BoczekZG
  1. <?php
  2.  
  3. if ($sciezka_do_katalogu = ('images/sale/zoom/max'));
  4.  
  5.  
  6. $n=0;
  7. if(@$d = opendir($sciezka_do_katalogu)){
  8.  
  9. while (!(($plik = readdir($d)) === false)) {
  10.  
  11. $plikArray = explode('.',$plik);
  12. $last = count($plikArray)-1;
  13. switch($plikArray[$last]) {
  14. case('jpg'):
  15. case('jpeg'):
  16. case('JPG'):
  17. case('JPEG'):
  18. case('gif'):
  19. case('GIF'):
  20. $n++;
  21. unset($plikArray[$last]);
  22. $losowe_zdjecie[$n] = array('link' => implode('.',$plikArray).'.php', 'image' => $plik);
  23. break;
  24. }
  25. }
  26.  
  27. if(!empty($losowe_zdjecie)) {
  28. $losowa_pozycja = array_rand($losowe_zdjecie);
  29.  
  30. echo "<p><a class=\"zoom\" href=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]\"><img src=\"$sciezka_do_katalogu/$losowe_zdjecie[$losowa_pozycja]['image']\" width=400px ></a></p>";
  31. echo "<p><a href=\"/$losowe_zdjecie[$losowa_pozycja]['link']\">Link do Zdjęcia</a></p>";
  32. }
  33. else echo 'Brak zdjęć';
  34. }
  35. else echo 'Błędna ścieżka do katalogu lub katalog nie istnieje.';
  36. ?>


Wyświetlane "zdjęcie" ma odnośnik:
  1. /images/sale/zoom/max/Array/[image]

a link:
  1. /Array/[link]
cudny
Zamień te echa na to
  1. echo '<p><a class="zoom" href="'.$sciezka_do_katalogu.'/'.$losowe_zdjecie[$losowa_pozycja]['link'].'">'.
  2. '<img src="'.$sciezka_do_katalogu.'/'.$losowe_zdjecie[$losowa_pozycja]['image'].'" width=400px ></a></p>';
  3. echo '<p><a href="/'.$losowe_zdjecie[$losowa_pozycja]['link'].'">Link do Zdjęcia</a></p>';
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.