ďťż

[PHP] Operacje na plikach PA

       

Podstrony


telcocafe

Witam!
Robię PA na stronie...
I chce zrobić system dodawania newsów.
Oto co napisałem...
<?php $plik = "../../newsy.txt"; if (is_writeable($plik)) { if (!$handle = fopen($plik, "r+")) { echo "Nie mogę otworzyć pliku..."; } if (fwrite($handle, $_POST['tytul']."\r\n".date('d.m.Y H:i:s')."\r\n".$_POST['dodal']."\r\ n".$_POST['tresc']."\r\n".'[NEWS]'."\ r\n") === FALSE) echo "Nie mogę zapisać danych do pliku..."; else echo "Dane zostały dodane..."; fclose($handle); } else echo "Plik nie istnieje lub jest nie do zapisu..."; ?>
I wszystko by było dobrze gdyby nie to, że dane są zastępowane....
Tzn. że np w pliku newsy.txt jest to:
Strona przebudowana! 14.11.2006 Dominik Sokal Strona została przebudowana. Użyto języka PHP, co ułatwia administrowanie strony. Wygląd strony został lekko zmieniony. [NEWS]
i to co zrobi skrypt i wysyla do pliku jest zastępowane,
Czyli po dodaniu news'a do pliku jest tak:
sdfgsdgs 14.12.2006 13:23:51 sdgsdgs sdgsdg [NEWS]Strona została przebudowana. Użyto języka PHP, co ułatwia administrowanie strony. Wygląd strony został lekko zmieniony.[NEWS]

Tutaj w tym przykladzie zostało ucięte akurat tylko tytul, autor i data a jakos pozostał wpis
ale jak zrobić aby dane nie byly zastępowane tylko dopisywane?

Pozdro.
Użytkownik master_dos edytował ten post 14 grudzień 2006, 13:46


ciężko jest zajrzec do manuala? :> http://pl2.php.net/m...ction.fopen.php

Znajdź odpowiedź na moje pytanie na stronie tej co podałeś...
Przecież jakbym znalazł w internecie odp. na moje pytanie to bym nie zakładał tematu, nie?
Na tej stronie też byłem i nic nie ma.
Przynajmniej jak ja patrzę...

Pozdro.


Znajdź odpowiedź na moje pytanie na stronie tej co podałeś...
Przecież jakbym znalazł w internecie odp. na moje pytanie to bym nie zakładał tematu, nie?
Na tej stronie też byłem i nic nie ma.
Przynajmniej jak ja patrzę...
Pozdro.


'a+' - Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć.
jeszcze dokładniej? :>



A ja chcę żeby dodawało coś na początku a nie na końcu <_<
wiem ze sie da przesunąć wskaźnik, ale to i tak nic nie daje...
Jak nie jesteś pewny czegoś to po co piszesz?


A ja chcę żeby dodawało coś na początku a nie na końcu <_<
wiem ze sie da przesunąć wskaźnik, ale to i tak nic nie daje...
Jak nie jesteś pewny czegoś to po co piszesz?

nie napisałeś że mają być dopisywane na początku <_<


I wszystko by było dobrze gdyby nie to, że dane są zastępowane....
Tzn. że np w pliku newsy.txt jest to:

Strona przebudowana! 14.11.2006 Dominik Sokal Strona została przebudowana. Użyto języka PHP, co ułatwia administrowanie strony. Wygląd strony został lekko zmieniony. [NEWS]
i to co zrobi skrypt i wysyla do pliku jest zastępowane,
Czyli po dodaniu news'a do pliku jest tak:
sdfgsdgs 14.12.2006 13:23:51 sdgsdgs sdgsdg [NEWS]Strona została przebudowana. Użyto języka PHP, co ułatwia administrowanie strony. Wygląd strony został lekko zmieniony.[NEWS]

Tutaj w tym przykladzie zostało ucięte akurat tylko tytul, autor i data a jakos pozostał wpis
ale jak zrobić aby dane nie byly zastępowane tylko dopisywane?


a po tym nie można wywnioskować, że chcę dopisywać dane na początku?
zastanów się trochę... przeciez jest to wyraznie pokazane...
ze dane zmieniaja sie na poczatku a nie na koncu...

dobra nie ma sie co klucic

wie ktos jak to zrobić?

@up: nie, nie można się domyślić :>
sposobem może być odczytanie zawartości całego pliku do zmiennej, dodanie na jej poczatek porządanych danych i wtedy zastąpienie całej zawartości istniejącego pliku.

PS. nie lepiej na bazie tego robić? :blink:
Użytkownik marines edytował ten post 14 grudzień 2006, 14:05
Ale na pewno nie da się jakoś prościej tego zrobić?
Jeżeli nie to już temat do kasacji...

Pozdro.

//PS
o tym juz myslalem

//
PS. nie lepiej na bazie tego robić?
w tym problem ze to MUSI byc na plikach...
Użytkownik master_dos edytował ten post 14 grudzień 2006, 14:17
<?php $plik = "../../newsy.txt"; $stary_tekst = file_get_contents($plik); if (is_writeable($plik)) { if (!$handle = fopen($plik, "w")) { echo "Nie mogę otworzyć pliku..."; } if (fwrite($handle, $_POST['tytul']."\r\n".date('d.m.Y H:i:s')."\r\n".$_POST['dodal']."\r\ n".$_POST['tresc']."\r\n".'[NEWS]'."\ r\n".$stary_tekst) === FALSE) echo "Nie mogę zapisać danych do pliku..."; else echo "Dane zostały dodane..."; fclose($handle); } else echo "Plik nie istnieje lub jest nie do zapisu..."; ?>
Pisałem z palca, może nie działać... sens oddałem.
Użytkownik dodek edytował ten post 14 grudzień 2006, 15:13
Dziękuję Ci bardzo Dodek.
Jesteś ziom.
Działa bez zarzutów.
:)

Pozdrawiam

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

  • Sitedesign by AltusUmbrae.