Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Automatyczne usuwanie lini z pliku .txt
Forum PHP.pl > Forum > Przedszkole
cfneon
Witam, ostatnimi czasy poświęcam się php... Postanowiłem zrobić stronkę na której jest skrypt typu:

Na pierwszej stronie:

Wpisuje sobie dany wyraz a na drugiej wyświetla mi jakiś teskt i przejście na kolejną stronę na której wyskoczy to co napisałem wcześniej.

I wszystko byłoby w porządku gdyby nie tworzyła się historia. Tzn. wpisałem jakiś tekst poźniej wpisuje drugi i wyświetlają mi się już dwa...
Myślałem jak się tego pozbyć i wpadłem na pomysł usuwania lini.

Historia zapisuję mi się w pliku tekstowym, więc chcąc pozbyć się histori stworzyłem skrypt (tzn. stworzyłem, skopiowałem z innej stronki)
który usuwa 2 linię w moim pliku tekstowym. Ale coś nie chce mi trybic proszę o pomoc.

Każdy skrypt który próbowałem włożyć kończył się lipą może coś źle robię nwm.

Może macie jakiś gotowy czy sprawdzony skrypt z innych stronek czy coś który automatycznie usuwa druga linie gdy sie ona tylko pojawi i zostaje tylko pierwsza...
Bo może rzeczywiście dobrze wszystko robię a trafiam tylko na złe kody....

Przykład:
  1. <?
  2. $plik = file('baza.txt');
  3. if (count($plik) >2) {
  4. unset($plik[0]);
  5. if ($fp = fopen('baza.txt','w')) {
  6. flock($fp, LOCK_EX);
  7. foreach ($plik as $wart)
  8. fputs($fp,trim($wart)."\r\n");
  9. flock($fp, LOCK_UN);
  10. fclose($fp);
  11. }
  12. }
  13. unset($plik);
  14. ?>


Wydaję mi się że muszę w tym pliku tekstowym jeszcze jakiś kod wstawić ale sam już nwm.

Z góry bardzo dziękuję za odpowiedzi Paweł.
cim
Witam,

  1. if (count($plik) > 2)

mając taki warunek skrypt robi coś, jeżeli liczba wierszy w pliku jest większa od 2 (a IMO powinno być od 1).

  1. unset($plik[0]);

W ten sposob usuwasz treść pierwszej linii a nie drugiej (indeksy tablic zaczynają się od 0), więc tutaj zmień na 1.

Pozdrawiam
cfneon
Cytat(cim @ 13.04.2011, 23:05:35 ) *
Witam,

  1. if (count($plik) > 2)

mając taki warunek skrypt robi coś, jeżeli liczba wierszy w pliku jest większa od 2 (a IMO powinno być od 1).

  1. unset($plik[0]);

W ten sposob usuwasz treść pierwszej linii a nie drugiej (indeksy tablic zaczynają się od 0), więc tutaj zmień na 1.

Pozdrawiam


Witam, jest wszystko fajnie pięknie ale teraz usuwa mi wszystko w baza.txt a historia wyświetla się nadal...

Strona na której znajduję się skrypt: http://hhh.y0.pl/formularz.php

Nie wiem, ale zrobiłem do raczej dobrze:

Wrzuciłem całą zawartość w plik .php wrzuciłem serwer. Może coś do tej tablicy mam wpisać żeby zdefiniować linie?
Lub skrypt który wysyła wszystko do pliku .txt koliduje ze skryptem o który się tutaj pytam...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.