Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] array_rand - pobieranie losowej strony www
Forum PHP.pl > Forum > Przedszkole
eMWu
Witam serdecznie,

Starałam się przeszukać forum jak tylko mogłam, manual niestety nie jest jeszcze moim dobrym przyjacielem i jeszcze się nie potrafimy dogadać.

Potrzebuję od Was pomocy, niestety znajomy jedyne co mi dziś powiedział to "dobranoc" a z naszej rozmowy wywnioskowałam, że mój problem jest banalny ... cóż pojęcie względne.

Potrzebuję kod, który będzie mi pobierał zawartość losowo wybranego pliku zamieszczonego na serwerze. Plik ten jest stroną html (względnie php).

W skrócie, mam w jakimś katalogu strony: strona1.htm, strona2.htm, strona3.htm i skrypt ma losowo spośród tych 3 wybrać jedną i ją wyświetlić.

Czy mogę liczyć na Waszą pomoc ? Tylko proszę, nie odsyłajcie mnie do manuala.

Marta

//poproszę o skasowanie, post wrzucił się dwukrotnie.
Agape
y, nie jestem pewien
  1. <?php
  2. include 'strona'.rand(1,3).'.htm';
  3. ?>


a jak nie to

  1. <?php
  2. $parametr = rand(1,3);
  3. include 'strona'.$parametr.'.htm';
  4. ?>


Przy zalozeniu ze sa do wyboru TYLKO
strona1.htm
strona2.htm
strona3.htm
bmL
Prędzej file_get_contents chyba niż include winksmiley.jpg
skowron-line
Cytat(bmL @ 13.10.2009, 08:43:17 ) *
Prędzej file_get_contents chyba niż include winksmiley.jpg

No wiesz...
Cytat
będzie mi pobierał zawartość losowo wybranego pliku

file_get_contents
ale
Cytat
wybrać jedną i ją wyświetlić.

include / include_once / require /require_once
eMWu
Panowie, ja wiem że chcecie dobrze ... ale mnie to i tak niewiele mówi :-(
wiem, że dla Was to może słabe, ale potrzebuję gotowego rozwiązania ... w sensie od <? ... do ... ?>
jmail
  1. <?php
  2.  
  3. if ($uchwyt = opendir('/sciezka/do/plikow')) {
  4. $tablica = null;
  5. while (false !== ($plik = readdir($uchwyt))) {
  6. $tablica[] = $plik;
  7. }
  8.  
  9. require_once('/sciezka/do/plikow/strona'.$tablica[rand(0,count($tablica) -1)]);
  10.  
  11. closedir($uchwyt);
  12. }
  13.  
  14. ?>
eMWu
wkleilam taki kod do pliku .php, niestety nie dziala :-(

  1. <?php
  2.  
  3. if ($uchwyt = opendir('/adds')) {
  4. $tablica = null;
  5. while (false !== ($plik = readdir($uchwyt))) {
  6. $tablica[] = $plik;
  7. }
  8.  
  9. require_once('/adds/strona'.$tablica[rand(0,count($tablica) -1)]);
  10.  
  11. closedir($uchwyt);
  12. }
  13.  
  14. ?>


strony znajdują się w katalogu adds i nazywają się strona1, strona2, strona3.html ...
Quantum
  1. $directory = new DirectoryIterator('adds');
  2.  
  3. foreach($directory as $file)
  4. ($file->isFile())? $files[] = $file->getFilename() : FALSE;
  5.  
  6. require_once('adds/' . $files[array_rand($files)]);
Skie
To ja dam coś prostszego:

  1. $pages = glob($dirPath.'/*');
  2. $page_index = array_rand($pages);
  3. include_once($pages[$page_index]);


...gdzie $dirPath to zmienna typu string zawierająca ścieżkę do katalgu, np: './includes/podstrony'
W twoim przypadku to będzie CHYBA $dirPath = './adds';
Wolfie
Panowie, nie rozumiem dlaczego dajecie gotowe rozwiazania, dlatego ze to kobieta ? Przeciez one wywalczyly rownouprawnienie aaevil.gif snitch.gif
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.