Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Edycja plików tekstowych, Edytowanie i kasowanie fragmentów tekstu
Marteen
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 2.04.2010

Ostrzeżenie: (0%)
-----


Witam serdecznie.

Na swojej stronie nie korzystam z MySQL, więc opracowałem skrypt komentarzy oparty o pliki tekstowe. Polega on na tym, że do każdego elementu na stronie, który można skomentować (np. zdjęcie 5.jpg) tworzony jest w tym samym folderze na serwerze plik tekstowy o tej samej nazwie (np. 5.txt), który zawiera skrypt php deklarujący ponumerowane zmienne, których wartościami są kolejne komentarze. Oto przykładowy plik txt z komentarzami:
  1. $komentarz1 = "Przykładowy komentarz 1";
  2. $komentarz2 = "Przykładowy komentarz 2";
  3. $komentarz3 = "Przykładowy komentarz 3";


Z odczytywaniem ich nie mam problemu, lecz chciałbym dodać możliwość edytowania i kasowania pojedynczych komentarzy. Do tego potrzebuję wiedzieć, jak w php można edytować pliki tekstowe.

Powiedzmy, że chcę skasować z pliku linijkę skryptu, która deklaruje zmienną $komentarz2. Co należy zrobić? Jak edytować dowolny fragment pliku? Przyda mi się też sposób na obliczenie ilości wszystkich linijek w danym pliku. Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Quantum
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Marteen, jak już upierasz się przy plikach tekstowych to może jakoś lepiej zaplanuj taki skrypt. Aktualnie jest maksymalnie nieelastyczny.

Skorzystaj z tablic. Do odczytu użyj deserializacji (unserialize), zapisu serializacji (serialize). Wyświetlanie komentarzy - zwykła pętla foreach po tablicy z komentarzami.

przykład z kawałkiem kodu:

  1.  
  2. $txt = '5.txt';
  3.  
  4. $komentarze = unserialize(file_get_contents($txt));
  5.  
  6. array_push($komentarze, array('autor', 'treść'));
  7.  
  8. file_put_contents($txt, serialize($komentarze));
  9.  
  10. foreach ($komentarze as $komentarz)
  11. {
  12. echo 'autor: '.$komentarz[0].', treść: '.$komentarz[1].'<br/>';
  13. }
  14.  


Ten post edytował sniffer32 15.06.2010, 16:11:04
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 17:23