ďťż

[PHP] Zapis na początku pliku

       

Podstrony


telcocafe

Mam 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 "&para;").

htmlspecialchars() oraz str_replace() ;)

Wielki dzięki :). Temat można uznać za zamknięty.

Hmm, możesz też łatwiej:
http://forum.4progra...332375#id332375

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.