gervys79
15.12.2005, 08:37:50
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
15.12.2005, 09:11:35
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
15.12.2005, 09:58:56
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
15.12.2005, 10:18:26
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
15.12.2005, 10:50:19
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.