ďťż
Podstrony
|
telcocafeMam taki skrypt (powiedzmy że to skrypt newsów):formularz dodawania: <html> <head> <title>Dodaj news</title> </head> <body> <form action="news.php" method="post"> Tytul:<br> <input name="title_txt" type="text" size="40"><br> Data:<br> <input name="date_txt" type="text" size="40"><br> Tresc:<br> <textarea name="text_txt" rows="10" cols="40"></textarea><br> <input type="submit" value="Wyslij"> </form> </body> </html> news.php: <? function zapisz($all) { $tytul=$_POST['title_txt']; $data=$_POST['date_txt']; $tresc=$_POST['text_txt']; $nazwa="newsy.txt"; $all="$tytul,$data,$tresc"; $plik=fopen($nazwa,"a+"); fwrite($plik,$all); fclose($plik); } zapisz($all); ?> Później tylko odczytuję plik newsy.txt w pokaz.php. Wszystko jest ok, ale chciałbym żeby nowe dane zapisywały się na początku, a nie na końcu pliku newsy.txt. Sprawdziłem i nie ma wskaźnika, który by na to pozwalał. W takim razie czy jest taka możliwość i jak to wykonać na przykładzie tego skryptu? najpierw odczytaj zawartość pliku, przypisz ja do zmiennej, dodaj na jej poczatek kolejnego newsa, a potem wszystko zapisz. albo baw się (braknie mi słowa - wskaźnikiem, kursorem? ) za pomoca np. rewind. Użytkownik Mathew edytował ten post 30 październik 2006, 21:26 <? $stare=fread(fopen('newsy.txt','r'),filesize('newsy.txt' )); $tytul=$_POST['title_txt']; $data=$_POST['date_txt']; $tresc=$_POST['text_txt']; $all="$tytul,$data,$tresc \n $stare"; $plik=fopen($nazwa,"w"); fputs($plik,$all); fclose($plik); ?> nietestowane ale mniejwięcej tak to ma być pozdro Użytkownik howking edytował ten post 30 październik 2006, 21:40 Hmm, dziwne patrząc na to też wydaje mi się że powinno działać, ale wyświetla się błąd: Warning: fputs(): supplied argument is not a valid stream resource in /home/web/bmatrix/news2/news.php on line 10 Warning: fclose(): supplied argument is not a valid stream resource in /home/web/bmatrix/news2/news.php on line 11 $stare=fread(fopen('newsy.txt','r'),filesize('newsy.txt')); $tytul=$_POST['title_txt']; $data=$_POST['date_txt']; $tresc=$_POST['text_txt']; $all="$tytul,$data,$tresc \n $stare"; $plik=fopen($nazwa,"w"); fputs($plik,$all); fclose($plik); skad to pobiera zmienna ? A, racja rzeczywiście. Dopisałem "$nazwa="newsy.txt";" i działa :). Teraz jeszcze ostatnie pytanko: jak można skryptem zamienić jakiś znak na inny? (mam tu na myśli zmianę np. polskiego "ś" na "¶"). htmlspecialchars() oraz str_replace() ;) Wielki dzięki :). Temat można uznać za zamknięty. Hmm, możesz też łatwiej: http://forum.4progra...332375#id332375 |
|||
Sitedesign by AltusUmbrae. |