Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Losowy odczyt z pliku .txt - cz to wogóle możliwe?
Forum PHP.pl > Forum > Przedszkole
bbobo
Witam.
Chciałbym Was prosić o pomoc , podpowiedz w napisaniu pewnego skryptu zakładająć , że jest to wykonalne.

Krótko mówiąc chodzi mi o skrypt gdzie użytkownik wypełnia 2 pola formularza po czym klika np. "GENERUJ" a skrypy wyswietla to co wpisal plus losowy wpis z jakiegos tam pliku .txt.

PRZYKŁAD:

Dla lepszego zobrazowania wymyśliłem przykład (zgóry mówię , że to tylko przykład biggrin.gif ) , kóry lepiej zilustruje o co mi chodzi a przy okazji trochę Was rozbawi;)

GENERATOR POGODY.

PODAJ DZIEN ----(user wpisuje np.12)
PODAJ MIESIĄC---(user wpisuje np.9)

Na serwerze gdzies tam jest plik prognoza.txt a w niem np.

bedzie padac
bedzie slonecznie
bedzie wiało
bedzie burza
bedzie cieplo
bedzie zimno


biggrin.gif


teraz user klika GENERUJ


i wychodzi 12.9 - bedzie cieplo (i własnie to bedzie cieplo powinno byc losowe)


Mam nadzieje , że dobrze wytłumaczyłem o co mi chodzi , bardzo bym chciał aby ktos mi w tym pomógł.

dziekuje i pozdrawiam Bogdan.


PS. jestesm tyle co upieczonym użytkownikem tego forum i tak się zastanawiam czy "starszaki" zagloądają do "przedszkolaków" smile.gif
bastard13
Wyświetla ci losową linię pliku:
  1. $linie_pliku=file("nazwa_pliku");
  2. $ile_linii=count($linie_pliku);
  3. $ktora_linia=rand(0,$ile_linii);
  4. echo $linie_pliku[$ktora_linia];
Pawel_W
Cytat(bastard13 @ 22.07.2010, 20:47:04 ) *
  1. $ile_linii=count($linie_pliku);
  2. $ktora_linia=rand(0,$ile_linii);

zamiast tego chyba lepiej użyć array_rand rolleyes.gif
athei
  1. $fo = new SplFileObject('plik.txt');
  2. $fo->setFlags(SPLFileObject::READ_AHEAD);
  3. $fo->rewind();
  4. $linenr = 0;
  5. while ($fo->valid()) {
  6. $linenr++;
  7. $fo->next();
  8. }
  9. $fo->seek(rand(0,$linenr-1));
  10. echo $fo->current(); // losowa linia
bbobo
Cytat(bastard13 @ 22.07.2010, 19:47:04 ) *
Wyświetla ci losową linię pliku:
  1. $linie_pliku=file("nazwa_pliku");
  2. $ile_linii=count($linie_pliku);
  3. $ktora_linia=rand(0,$ile_linii);
  4. echo $linie_pliku[$ktora_linia];



Bardzo Ci dziękuje..

normalnie działa winksmiley.jpg

Cytat(athei @ 22.07.2010, 20:18:10 ) *
  1. $fo = new SplFileObject('plik.txt');
  2. $fo->setFlags(SPLFileObject::READ_AHEAD);
  3. $fo->rewind();
  4. $linenr = 0;
  5. while ($fo->valid()) {
  6. $linenr++;
  7. $fo->next();
  8. }
  9. $fo->seek(rand(0,$linenr-1));
  10. echo $fo->current(); // losowa linia



także działa winksmiley.jpg dzieki wielkie
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.