Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Automatyczne usuwanie lini z pliku .txt
cfneon
post 13.04.2011, 21:52:40
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.04.2010

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


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ł.
Go to the top of the page
+Quote Post
cim
post 13.04.2011, 22:05:35
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


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


--------------------
errare humanum est
Go to the top of the page
+Quote Post
cfneon
post 14.04.2011, 10:19:51
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 11.04.2010

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


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...

Ten post edytował cfneon 14.04.2011, 10:21:59
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 9.05.2025 - 08:15