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
<?
$nazwa = $_POST['nazwa'];
$temat1 = $nazwa;
$wersja1 = "slowa/$temat1.txt";
$arrFile1 = file( "$wersja1" ); // wczytujesz wszystko do tablicy
//shuffle( $arrFile ); // tasujesz/mieszasz tablicę
$intLinesCount1 = count( $arrFile1 ); // liczysz ilosc linii for($i1=0 ; $i1 < $intLinesCount1; $i1++ ) //tablica jest indeksowana od zera
{
//zamienia biale znaki na podkreslenia
$klucz = $arrFile1;
//zamienia kropki na myslniki
//echo "$arrFile1[$i1].txt<br />n";
}
?>
<?php
$zlicz = $intLinesCount1 ;
$slowo = $temat1;
//config
$dbname = "slowka";
$username = "root";
$password = "krasnal";
//laczy do bazy
for ($a=0 ; $a <13; $a++){
$wykonaj = mysql_query("SELECT * FROM klucze_poczatek WHERE id=$a"); //echo $row[1];
$nr[$a] = $row[1];
//echo "<br>$nr[$a]";
}
}
$arrFile[1
] = file( "artykuly/jakis_tekst_1.txt" ); // wczytujesz wszystko do tablicy $arrFile[2
] = file( "artykuly/jakis_tekst_2.txt" ); // wczytujesz wszystko do tablicy $arrFile[3
] = file( "artykuly/jakis_tekst_3.txt" ); // wczytujesz wszystko do tablicy $arrFile[4
] = file( "artykuly/jakis_tekst_4.txt" ); // wczytujesz wszystko do tablicy $arrFile[5
] = file( "artykuly/jakis_tekst_5.txt" ); // wczytujesz wszystko do tablicy
//petla tworzaca pliki
for ($ileS = 0; $ileS < $intLinesCount1; $ileS++){
shuffle( $arrFile[$plik] ); // tasujesz/mieszasz tablicę
for($i=0 ,$a=0; $i < 25; $i++ ) //tablica jest indeksowana od zera
{
$arrFile[$plik][$i] = eregi_replace("nr", "", $arrFile[$plik][$i]); $arrFile[$plik][$i] = eregi_replace("rn", "", $arrFile[$plik][$i]); $a++;
$ble[$intLinesCount1] = "$nr[$a] $slowo ".$arrFile[$plik][$i]." $nr[$a] $slowo " .$i++. " Jakis napis".$arrFile[$plik][$i]." $nr[$a] $slowo";
$blee .= $ble[$intLinesCount1];
}
$filename = "pliki/$nazwa/$arrFile1[$ileS].txt";
chmod($filename,0666);
}
//echo $stron . "<br>";
$string = "$klucz[$losowa]$blee";
$file = fopen("$filename", w
); $zapisz = fwrite($file, $string, '7168'); }
if($zapisz){
echo "Zapisano pliki na haslo $nazwa<br><br>"; }
?>
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