![]() |
![]() ![]() |
![]() |
![]()
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:
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. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zapisywanie: fwrite file_put_contents Edycja: str_replace (Wersja str_ireplace nie rozróżnie małych i dużych liter). Pozdrawniam, marcinl -------------------- Pozdrawiam,
mlawnik Cytat(nospor) Jedzmy gówno.... miliony much nie może się przecież mylić |
|
|
![]()
Post
#3
|
|
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:
Ten post edytował sniffer32 15.06.2010, 16:11:04 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 2 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
mlawnik, sprawdziłem to, co zasugerowałeś, ale to mi niestety nie pomoże. Potrzebuję funkcji (lub czegokolwiek), dzięki której będę mógł usunąć całą linijkę. Numer linijki powinienem sam określić. Jeszcze nie zamierzam używać bazy danych, więc proszę o pomoc odnośnie edycji plików tekstowych.
Ten post edytował Marteen 15.06.2010, 16:07:42 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak na szybko, z googla
Po angielsku, ale myślę, że sobie poradzisz -------------------- Pozdrawiam,
mlawnik Cytat(nospor) Jedzmy gówno.... miliony much nie może się przecież mylić |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 2 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie potrafię teraz ogarnąć tablic. Aby łatwiej Wam było zrozumieć, o co mi chodzi, pokażę przykład - chcę jednym skryptem edytować, a drugim usunąć komentarz 4.
Plik przed wykonaniem skryptu:
Plik po wykonaniu skryptu na usuwanie:
Plik po wykonaniu skryptu na edycję:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
unset($tablica[klucz]), pamiętaj o serializacji/deserializacji tablic przy zapisywaniu/otwieraniu pliku.
Ten post edytował sniffer32 15.06.2010, 16:33:19 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 2 Dołączył: 2.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zatem z usuwaniem wybranych linijek sobie poradzę, ale nie wiem, jak będzie z edycją. W każdym razie dziękuję za tyle, ile się dowiedziałem.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jak to nie wiesz jak będzie z edycją ? Po wczytaniu do zmiennej tablicy, edytujesz zawartość i zapisujesz :
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 05:48 |