Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowy wyraz z dwóch plików txt
Forum PHP.pl > Forum > PHP
akat1
Mam dwa pliki "txt", w których każda linia to jeden wyraz. Jak napisać kod, który będzie losowo dobierał - powiedzmy - 4 wyrazy z tych dwóch plików.

Proszę o pomoc.
Pawel_W
file + array_rand
akat1
Rozumiem, ale jak umieścić dwa pliki w tablicy. Wybaczcie za pytanie, ale jestem tutaj nowy.

Przygotowałem taki kod, ale nie wiem jak wgrać kilka plików do tablicy.

  1. <?php
  2. $plik_do_odczytu = file("czasowniki.txt");
  3. $los_wyraz = array_rand($plik_do_odczytu, 3);
  4. echo $plik_do_odczytu[$los_wyraz[0]];
  5. echo $plik_do_odczytu[$los_wyraz[1]];
  6. echo $plik_do_odczytu[$los_wyraz[2]];
  7. ?>
Michael2318
Ja bym to zrobił tak:

  1. <?php
  2. $losujemy_plik = rand(1,2);
  3. $plik = 'tekst_'.$losujemy_plik.'.txt';
  4. $dane = file($plik);
  5. $liczba_linii = count($dane);
  6. $losowa_linia = rand(1,$liczba_linii);
  7. echo $dane[($losowa_linia-1)];
  8.  
  9. ?>


gdzie pliki z tekstem nazywają sie kolejno: tekst_1.txt i tekst_2.txt.
akat1
Dzięki wielce. Jeśli dobrze rozumiem skrypt najpierw losuję plik, a potem dopiero słowa. Natomiast chciałbym przygotować taki: w którym słowa są losowane z zawartości dwóch plików.
Michael2318
Nie widze w tym większej różnicy. Efekt będzie taki sam - wyświetlona zostanie linia albo z jednego pliku albo z drugiego - marudzisz.
akat1
Wiesz, chcę dodać kilka plików, nie tylko dwa. Wtedy będzie to różnica.
Michael2318
Zwiększ zakres w rand'zie po prostu i tyle.
akat1
A czy jest możliwość dodania zawartości kilku plików do jednej tablicy?
koreja
  1. $dane = array();
  2. foreach(glob('*.txt') as $file) {
  3. $plik_do_odczytu = file($file);
  4. $dane = array_merge($dane, $plik_do_odczytu);
  5. }
  6. $los_wyraz = array_rand($dane, 3);
  7. echo $dane[$los_wyraz[0]];
  8. echo $dane[$los_wyraz[1]];
  9. echo $dane[$los_wyraz[2]];

Gdize w pętli pobierasz pliki txt z aktualnego katalogu.
akat1
Dzięki za pomoc! O to właśnie mi chodziło!!!

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.