A teraz po mojemu - wydaje mi iż ta metoda jest łatwiejsza.
Pliki newsy.dat
Kod
NuLL$$null_pl@o2.pl$$30.06.2005$$Tytul testowy nr.3$$A to jest tresc jakas tam sobie|@|MissMoneyPenny$$missy@wp.pl$$28.06.2005$$Tytul testowy nr 2$$A to jest tresc jakas tam sobie tyleze troche inna|@|NuLL$$null_pl@o2.pl$$27.06.2005$$Tytul testowy nr 1$$A to jest tresc jakas tam sobie ale jeszcze troche inna|@|
Ten plik trochę jest nieczytelny ale nie oto chodzi. Poszczególne wpisy są oddzielane dzięki takiemu dziwnemu separatorowi |@| - po aby było małe prawdopodobieśtwo powtórzenia. Kolejne pola wpisu są oddzielone dzięki $$.
I do zabawy
Odczyt newsów z pliku.
<?php
$_newsy=explode(\"|@|\",$_tresc);//->do tablicy. Element tablicy - wiersz z newsem //Usuwamy puste wiersze z tablicy :-)
//zamieniamy kolejne wiersze na tablice aby bylo latwiej
$_temp=array();//tymczasowa tablica foreach($_newsy as $_news){
$_temp[]=explode('$$',$_news);//separator - opisane wyżej }
$_newsy=$_temp;
//i tu możesz coś robić ale dla testu.
?>
Dodanie newsa

- zakładam, że dane są wypełnione
<?php
$_news=$_POST['kto'].'$$'.$_POST['email'].'$$'.date(\"d-m-Y\",time()).'$$'.$_POST['tytul'].'$$'.$_POST['tresc'];//mamy nowy news sklejony $_news.=\"|@|\";//dopisujemy separator - wspomniany wyzej
//a teraz sam zapis
//doklejamy na poczatku tekstu w pliku
$_tresc=$_news.$_tresc;//news doklejony
file_put_content('newsy.dat',$_tresc);//zapisujemy
?>
Nie prawda, że proste :?:
Teraz usuwanie - zakładam ze newsy maja numery tak jak sa w pliku zapisane
<?php
$id=2;//chcemy usunac drugi wpis
//tablica jest indeksowana od 0 a nie od 1 tak wiec trzeba odjac
$id=$id-1;
$_newsy=explode('|@|',$_tresc);//zamieniamy w tablice $_tresc='';//czyscimy , bedzie zmienna wykorzystana drugi raz
$_newsy[$id]='';//pusta linia w miejsce danego newsa
//Usuwamy puste wiersze z tablicy :-)
//zamiana tablicy z newsami na powrot w lancuch
//zapis do pliku
file_put_contents('newsy.dat',$_tresc);
?>
I teraz o co prosiłaś - czyli edycja - zakładam, żę edytujesz news o numerze dwa.
Beda dwa przyklady: jak dostać się do newsa o numerze i jak nadpisać news numer dwa.
Najpierw odczyt - dzieki niemu odtrzymasz zmienne ktore bedziesz mogla wstawic do formularza
<?php
//Patrzy wyzej
$id=2;
$id=$id-1;
$_news_do_edycji=$_newsy[$id];
list
($autor,$email,$data,$tytul,$tresc)=explode('$$',$_news_do_edycji);
?>
No dobra trzeba zapisać :roll2: tak więc co następuje
Zakładam, że przekazałaś sobie w polu ukrytym numer newsa do edycji
<?php
$id=$_POST['id'];//no to mamy numer newsa do nadpisania
$id=$id-1;//tak czy tak tu też trzeb odjąć
$_news=$_POST['kto'].'$$'.$_POST['email'].'$$'.date(\"d-m-Y\",time()).'$$'.$_POST['tytul'].'$$'.$_POST['tresc'];//przy wedrowalo z formularza $_newsy=explode('|@|',$_tresc);// do tablicy z tym... $tresc='';
//podmieniamy na zedytowany
$_newsy[$id]=$_news;
//zamiana w lanuch
file_put_contents('newsy.dat',$_tresc);
?>
Tak wygląda cały system newsów od strony php - mam nadzieję, że zostanę doceniony