Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Losowe wywoływanie tekstu, na pliku
D3vilroot
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 5.08.2006

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


Pewnie ten kod nie jest zbyt profesjonalny, ale po części działa więc nie obrzucajcie błotem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Tak to wygląda
Kod
<?php

$nr1 = fopen('wpis.txt', 'r');
$nr2 = fopen('wpis2.txt', 'r');
$nr3 = fopen('wpis3.txt', 'r');
$nr4 = fopen('wpis4.txt', 'r');
$nr5 = fopen('wpis5.txt', 'r');

$tresc1 = fread($nr1, filesize("wpis.txt"));
$tresc2 = fread($nr2, filesize("wpis2.txt"));
$tresc3 = fread($nr3, filesize("wpis3.txt"));
$tresc4 = fread($nr4, filesize("wpis4.txt"));
$tresc5 = fread($nr5, filesize("wpis5.txt"));
// definujemy teksty
$text=array(
   1 => $tresc1,
   2 => $tresc2,
   3 => $tresc3,
   4 => $tresc4,
   5 => $tresc5
);


// inicjujemy generator liczb losowych
srand((double) microtime() * 10000000);

// sprawdzamy ilość tekstów w tablicy
$ile = count($text);
// losujemy liczbę
$losowa = rand(1, $ile);

// wyświetlamy tekst
echo "<br><br><br>$text[$losowa]";
?>


Chciałbym wiedzieć jak zrobić, żeby pobrany tekst z pliku posiadał znaki zakończenia linii. Bo tak wygląda troche nieładnie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

I teraz druga sprawa. Chce zrobić tak, że będe pobierał linie z pliku funkcją file(). Wiem, że tworzy ona tablice i 1 element tablicy to 1 linia tekstu. Jak zrobić, żeby np. 20 linii z 10 stronowego tekstu pojawiało się przypadkowo, np.
Kod
15 linia
jakiś tam mój kod
23 linia
1 linia
znowu mój kod
itd.

I żeby żadna linia się nie powtarzała? Może to głupie pytania, ale troche już szukałem i udało mi się tyle, że linie się powtarzają.
Dzięki za przeczytanie i wszelką pomoc (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
D3vilroot
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 5.08.2006

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


Właściwie to skorzystałem z gotowego skryptu znalezionego w sieci, tylko trochę go przerobiłem
tu masz adres
Losowy tekst na stronie
Może i zrobiłem to niewłaściwie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ale w Twoim kodzie też malutki błąd spotkałem u mnie serwer wywalił błąd
Kod
Fatal error: Call to undefined function: file_size()

dlatego zmieniłem file_size() na filesize()
Teraz popracuje troche nad drugim zadaniem.
Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


Coś udało mi się zrobić (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)
Niewiem teraz jak zrobić żeby każda linia była inna. bo niestety nadal się powtarzają.
  1. <?php
  2. $i=1;
  3. while ($i<21)
  4. {
  5. $laduj = file('wpis.txt'); 
  6. // liczy ilosc linii w pliku
  7. $iloscLinii = count($laduj);
  8. // losuje linie
  9. $linia= rand(1, $iloscLinii);
  10. // wyswietla linie i jej numer
  11. echo "$i <b>Linia #$linia</b> ";
  12. echo "$laduj[$linia]<br>";
  13. $i++;
  14. }
  15. ?>


Ten post edytował D3vilroot 6.08.2006, 17:24:31
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 08:43