Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1


Użytkownik



Witam! mam taki problem odnośnie operacji na plikach w php.
mam plik w którym za każdym razem generuje sie różna ilość lini z danymi ale w niektórych miejscach pojawiają się puste linie i zawsze na samym końcu dodaje ze dwie wygląda to tak:
tekst testkksda asdads
asdasdasd dasdsadasdasd
dadasdasd asdasdgfg gfdgfdgfd
fsdfsdfds sdfsdfdsfds dfsdfsdf
sfsfdsfsd sdfsdfsdfsdfsdfsdfs
fsdfsdfdsfdsfdsfdsf dfsfdsfdsf dsfdsfds
dfsdfsdfsdfsdfdsfdsf dsfsdfs
fsfdsfdsfsd sfsdfsdfsdf sdfdsfsdfdsf
sfsdfsdf sdfsdfsdfsfdsdf
Jak widać jest pusta linia w środku pliku
i dwie na końcu ( czego zabardzo niewidać )
jest jakiś sposób żeby usunąć wszystkie puste linie z pliku??
może być php albo bash.
Był bym wdzięczny za pomoc:)
Offline




Użyszkodnik
Np. tak (powłoka):
sed -i -e '/^$/d' /sciezka/do/pliku
Offline

Moderator


W php moglo by to byc tak rozwiazne:
$plik = "plik.txt";
// odczyt
$bufor = array();
$fd = fopen($plik, "r");
while (!feof ($fd))
{
$linia = fgets($fd, 1024);
if(strlen(trim($linia)))
{
$bufor[] = $linia;
}
}
fclose($fd);
// zapis
$fdw = fopen($plik, "w");
foreach($bufor as $wiersz)
{
fwrite($fdw, $wiersz);
}
fclose($fdw);Offline

Użytkownik


W PHP wczytać dane z pliku do tablicy można jedną funkcją file(). W tym wypadku zawartość linii sprawdzalibyśmy przy zapisie.
Offline
Strony: 1