Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie pojedynczej lini tekstu z pliku.
Forum PHP.pl > Forum > Przedszkole
gervys79
Witam.
Używam takiego polecenia do usunięcia konkretnej lini textu z pliku:

$dane=exec("cat /home/plik1|grep -w '$ip'");
exec("echo -e 's!$dane!!g\n,w'|ed /home/plik1");

I to mi działa z tym że zostawia mi pustą linię a ja chciałbym aby nie było tej pustej lini może trzeba to jakoś przerobić albo jest coś innego w php czym można by to zastąpić?? Prosił bym o jakiś przykład jak to zrobić.
mike
Problem usuwania linni z pliku był już wielokrotnie na forum.
To po niewielkiej modyfikacji da Ci rozwiązanie Usuwanie ostatniej linii z pliku, [php]
To Usuwanie elementu tablicy w połączeniu z funkcją file() oraz dowolną funkcją do zapisaywania do pliku da Ci rozwiązanie.

...

Poszukaj, to nie jest trudne.
gervys79
Przeczytałem linki które podałeś i nadal nic nie rozumiem, przeszukałem forum i nic nie znalazłem a jak już coś było to nie wiedziałem o co w tym chodzi, dopiero zacząłem przygodę z php także nie za bardzo się w tym wszystkim orientuję.
mike
Wczytujesz plik do tablicy za pomocą file(). Wtedy i-tej linii z pliku odpowiada i-ty element w tablicy. Usuwasz wybrany element tablicy funkcją unset(). Usuwając na przykład 5 element - usuwasz 5 linię pliku.
Potem łączysz wszystko za pomocą implode() i zapisujesz do pliku za pomocą file_put_contents() lub fwrite()

Bardzo proste operacje, poczytaj w manualau o tych funkcjach, są tam przykłady.
vihoo
Uściślając mike_mech:
Cytat
Wtedy i-tej linii z pliku odpowiada (i-ty - 1) element w tablicy.

Nie myśl tylko, że się czepiam, ale lepiej nie wprowadzać początkujących w błąd.
Pozdro
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.