Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tekst nie jest losowy :\
D3vilroot
post
Post #1





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

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


W tym programie chodzi o to żeby pobieral on losowe linie z pliku tekstowego i zapisywal je do innego ,ktorego nazwa jest pobierana z jeszcze innego pliku .txt
Moze wydawać się zagmatwane ale spojrzcie na kod
  1. <?
  2. $nazwa = $_POST['nazwa'];
  3.  
  4.  
  5. $temat1 = $nazwa;
  6. $wersja1 = "slowa/$temat1.txt";
  7. $arrFile1 = file( "$wersja1" ); // wczytujesz wszystko do tablicy
  8.  
  9. //shuffle( $arrFile ); // tasujesz/mieszasz tablicę
  10.  
  11. $intLinesCount1 = count( $arrFile1 ); // liczysz ilosc linii
  12. for($i1=; $i1 < $intLinesCount1; $i1++ ) //tablica jest indeksowana od zera
  13. {
  14. //zamienia biale znaki na podkreslenia
  15. $klucz = $arrFile1;
  16. $arrFile1[$i1] = eregi_replace(" ", "_", $arrFile1[$i1]);
  17. //zamienia kropki na myslniki
  18. $arrFile1[$i1] = eregi_replace(".", "-", $arrFile1[$i1]);
  19.  
  20. $arrFile1[$i1] = eregi_replace("n", "", $arrFile1[$i1]);
  21.  
  22. //echo  "$arrFile1[$i1].txt<br />n";
  23. }
  24. ?>
  25.  
  26. <?php
  27. $zlicz = $intLinesCount1 ;
  28. mkdir("pliki/$nazwa");
  29.  
  30. $slowo = $temat1;
  31. //config
  32. $dbname = "slowka";
  33. $username = "root"; 
  34. $password = "krasnal";
  35.  
  36. //laczy do bazy
  37. $dbh = mysql_connect ("localhost", "$username", "$password") or die ('Brak polaczenia z baza danych: ' . mysql_error());
  38. mysql_select_db ("$dbname");
  39.  
  40. for ($a=; $a <13; $a++){
  41. $wykonaj = mysql_query("SELECT * FROM klucze_poczatek WHERE id=$a");
  42. while ($row = mysql_fetch_array($wykonaj)) {
  43. //echo $row[1];
  44. $row[1] = eregi_replace("rn", "", $row[1]);
  45. $row[1] = eregi_replace("nr", "", $row[1]);
  46. $nr[$a] = $row[1];
  47. //echo "<br>$nr[$a]";
  48.  }
  49. }
  50.  
  51. $arrFile[1] = file( "artykuly/jakis_tekst_1.txt" ); // wczytujesz wszystko do tablicy
  52. $arrFile[2] = file( "artykuly/jakis_tekst_2.txt" ); // wczytujesz wszystko do tablicy
  53. $arrFile[3] = file( "artykuly/jakis_tekst_3.txt" ); // wczytujesz wszystko do tablicy
  54. $arrFile[4] = file( "artykuly/jakis_tekst_4.txt" ); // wczytujesz wszystko do tablicy
  55. $arrFile[5] = file( "artykuly/jakis_tekst_5.txt" ); // wczytujesz wszystko do tablicy
  56.  
  57.  
  58. //petla tworzaca pliki
  59. for ($ileS = 0; $ileS < $intLinesCount1; $ileS++){
  60.  
  61. $plik = rand( 1, 5);
  62. shuffle( $arrFile[$plik] ); // tasujesz/mieszasz tablicę
  63.  
  64. for($i=,$a=0; $i < 25; $i++ ) //tablica jest indeksowana od zera
  65. {
  66. $arrFile[$plik][$i] = eregi_replace("nr", "", $arrFile[$plik][$i]);
  67. $arrFile[$plik][$i] = eregi_replace("rn", "", $arrFile[$plik][$i]);
  68. $a++;
  69. $ble[$intLinesCount1] = "$nr[$a] $slowo ".$arrFile[$plik][$i]." $nr[$a] $slowo " .$i++. " Jakis napis".$arrFile[$plik][$i]." $nr[$a] $slowo";
  70. $blee .= $ble[$intLinesCount1];
  71. }
  72.  
  73.  
  74.  
  75. $filename = "pliki/$nazwa/$arrFile1[$ileS].txt"; 
  76. if (!file_exists($filename)) { 
  77. touch($filename);
  78.  chmod($filename,0666); 
  79. }
  80.  
  81. //echo $stron . "<br>";
  82. $losowa = rand(, 50);
  83. $string = "$klucz[$losowa]$blee"; 
  84.  
  85. $file = fopen("$filename", w); 
  86. $zapisz = fwrite($file, $string, '7168'); 
  87. fclose($file); 
  88. }
  89.  
  90. if($zapisz){
  91. echo "Zapisano pliki na haslo $nazwa<br><br>";
  92. }
  93.  
  94.  
  95. ?>

pod zmienną $nazwa kryje się napis np. komputer
Wiec w pliku komputer.txt zapisane sa przyszle nazwy plikow
Kod
strona1
inny napis
jeszcze inny....napis

Zaleznie od tego ile jest linii w tym pliku tyle powstanie nowych

Dlaczego taki kod tworzy mi pliki prawidłowo nazwane (te pobrane z komputer.txt) ale zapisane w nich dane sa identyczne, przeciez mieszam tablice za kazdym okrazeniu petli (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
co wiecej to za kazdym razem wybieram inny losowy plik (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) Czemu wiec wszystkie sa identyczne?

Dodalem tez ograniczenie zeby nowo tworzony plik mial 7 KB bo wczesniejsze mialy nawet po 3 MB i po 16 tys. linii (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Potrafi mi ktos pomoc?

Ten post edytował D3vilroot 26.10.2006, 15:48:08
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: 3.10.2025 - 21:24