Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Losowy odczyt z pliku .txt - cz to wogóle możliwe?
bbobo
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2010
Skąd: PL/NL

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


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





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


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];


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





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

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


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





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


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





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 22.07.2010
Skąd: PL/NL

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


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

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

 



RSS Aktualny czas: 19.08.2025 - 20:37