baza.txt
Kod
Sienkiewicz Henryk||Potop||PWN||2005||4532/5422||powiesc||historyczna||jazda na szweda
Sienkiewicz Henryk||Pan Wołodyjowski||PWN||1785||45632/75645||powiesc||historyczna||ciekawa
ed.php
<?php
// fragment odpowiedzialny za wyszukanie
$arrFile = file( 'baza.txt' ); // powinienem chyba dodać ,'r+' for( $i = 0; $i < count( $arrFile ); $i++ ) {
list
($autor[$i], $tytul[$i], $wyd[$i],$rw[$i],$isbn[$i],$gat1[$i],$gat2[$i],$opis[$i] ) = explode("||", $arrFile[$i]);$line = explode( '||', $arrFile[ $i ] ); //rozbicie na elementy //znalezienie szukanego slowa, $pole1 to slowo pobrane z formularza umieszczonego
troche wyzej
if( eregi( $pole1, $line[1
])||eregi
( $pole1, $line[0
] ) ) $dane = $line[0]."||".$line[1]."||".$line[2]."||".$line[3]."||".$line[4]."||".$line[5]."||".$line[6]."||".$line[7]."";
//tutaj nastepuje zapis znalezionej lini do pliku "postoj.txt"
?>
Przepraszam
Lion_87 ale nie zabardzo rozumiem jak do powyższego kodu zastosować twoją propozycje.
powinien otowrzyc plik baza.txt do odczytu i zapisu ('r+') ale reszty jakoś nie łapie.
co podstawić do $linia, bo z twojego zapisu wyglada jakby ona sama siebie szukala.
EDIT: godzina 3:04 15 stycznia 2008 // Krok po kroku
OD ostatniego postu sprawa ruszyła do przodu (nocne pisanie widocznie mi służy), doszedlem do etapu usunięcia i mam problem:
plik baza.txt wyglada tak samo jak wyżej:
<?php
if($sprawa==$sprawdz) //znajduje te same wpisy teraz mozna usunac opowiedni,
// $sprawa zawiera zmienną z baza.txt
//$sprawdz zawiera zmienne ktore zaraz będą edytowane
{
echo "Ta zmienna jes w bazie i teraz ją usuniemy<br>"; echo "Usunięto zbędną linie i reszte zapisujemy do pliku baza.txt"; }
else
{
$filer = "baza.txt";
$ftp = fopen($filer, "r+"); echo "<center><strong><p>Stara wersja usunieta</p><br /></center></strong>"; }
?>
I problem polega na tym ze nie kija jak to działa, wiem że to powinno inaczej wygladać, ale poki co jest tak jak widzicie.
Moja prośba prosta - co zrobic aby po usunieciu tej lini ($sprawa) zapisać reszte pliku baza.txt na nowo.
Tak usunięcie zakończyło się w pełni sukcesem.