Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowe wyświetlanie stron.
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Gość_Adam
To mój pierwszy post więc Witam Wszystkich,

Nie wiem jak to fachowo opisać, dlatego mam problem z wyszukiwaniem na googlu. Szukam skryptu który by losowo wyświetlał strony .html z katalogu. Jedyne co znalazłem to aaPHPrandomPage ale strona domowa już nie działa i nie można go pobrać.

Dzięki wszystkim za pomoc.
cadavre
  1. <?
  2. $stronka = rand(1,3);
  3. if ($stronka == "1") { include "/plik1.html"; }
  4. if ($stronka == "2") { include "/plik2.html"; }
  5. if ($stronka == "3") { include "/plik3.html"; }
  6. ?>


Wsadzasz to w miejsce gdzie stronki *.html mają się pokazywać. Naturalnie uzupełniasz odpowiednie funkcję. W "$stronka = rand(1,3);" wpisujesz ile ma być możliwości i tyle samo dodajesz linijek "if ($stronka == "x") { include "/plikx.html"; }".
Speedy
Cadavare, a tam tongue.gif ja mam lepsze winksmiley.jpg

Mimo mojego złego dzisiaj humoru napisałem dla Ciebie funkcję.

  1. <?php
  2.  
  3. /**
  4.  * losowanie stron by Speedy ;-]
  5.  */
  6.  
  7. // $dir = katalog ze stronami *.html
  8.  
  9. function losuj_strone($dir)
  10. {
  11.  
  12. $files = array();
  13.  
  14. if (is_dir($dir)) {
  15.  if ($dh = opendir($dir)) {
  16.  while (($file = readdir($dh)) <> false) {
  17.  
  18. $path_parts = pathinfo($file);
  19. if ($file <> "." && $file <> ".." && $path_parts['extension'] == "html") {
  20.  
  21. $files[] = $file;
  22.  
  23. }
  24.  }
  25.  closedir($dh);
  26.  }
  27. }
  28.  
  29. $ile = count($files) - 1;
  30.  
  31. $losuj = rand(0, $ile);
  32.  
  33. return ($files[$losuj]);
  34.  
  35. }
  36.  
  37. // przykladowe uzycie - losowanie stron z katalogu o nazwie strony
  38.  
  39. echo losuj_strone("strony");
  40.  
  41.  
  42. ?> 


cya.
cadavre
Etam ja jestem zwolennikiem małych i szybkich skryptów. winksmiley.jpg
AxZx
cadavre: szybciej mozna by jeszcze tak:

  1. <?php
  2. include("strona".rand(1, 10).".html");
  3. ?>


ale to rozwiazanie gdy wiesz ze pliki maja nazwe strona z numerkiem.
Gość_Adam
Dziękuje wam wszystkim smile.gif
Speedy
Tak czy inaczej, to co ja napisałem, jest najbardziej elastyczne biggrin.gif.
Cadavre narzuca w swoim skrypcie instrukcje warunkowe, które trzeba wklepywać dla każdego pliku (plików może być dużo), a AxZx nazwę pliku (numery) - mój skrypt nie narzuca nic tongue.gif - tylko to, że wszystkie pliki muszą się znajdować w jednym katalogu i mieć rozszerzenie *.html (ale autor tematu chciał, aby takie rozszerzenie było wyświetlane - zresztą w prosty sposób można to ewentualnie zmienić winksmiley.jpg ).

Pozdrawiam!
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-2024 Invision Power Services, Inc.