Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] operacj na plikach - problem z pustymi liniami na końcu pliku
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

Napisałem skrypt, który w zależności od ostatniej linii pliku tekstowego, oblicza mi pewien współczynnik i dopisuje kolejna linię z wyliczonym współczynnikiem.

I teraz problem polega na tym, że jeśli na końcu pliku nie będzie wolnej linii, to nowy (wyliczony przez skrypt) współczynnik dopisze się do ostatniej linii, coś takiego:

ostatnia linia pliku (przed otwarciem): 87546232
ostatnia linia pliku (po dopisaniu współczynnika): 8754623287546245

Z kolei, jeśli zostawię pusta linię na końcu, to skrypt wczyta dane z tej lini, czyli nic i skrypt sie nie wykona, wyświetlając błąd.

Oto skrypt:
  1. <?php
  2. include_once("funkcje.php");
  3. $plik = 'dane.txt';
  4. $dane = file($plik);
  5. $cnt = count($dane);
  6.  
  7. $_line =(120/$dane[$cnt-1])+user_rights($dane[$cnt-1]);
  8.  
  9. $open = fopen($plik,"a+");
  10.  
  11. flock($open,2);
  12.  
  13. fwrite($open,"\n".$_line);
  14.  
  15. flock($open,3);
  16. ?>


Jak rozwiązać te problemy, proszę o pomoc.

Pozdrawiam.
nevt
czy masz to pod windows? jeśli tak, to do zmiany wiersza potrzeba dwóch znaków: "\n\r" ...
puz219
OK, testuje to narazie na localhoscie i działa (Windows Vista), ale jak będzie sie zachowywało na serwerze, prawdę powiedziawszy nie mam pojęcia, na jakim systemie stoi serwer. czy te dwa znaki nowej linii \r\n nie będą powodować jakichś problemów?

A i jeszcze druga sprawa, skrypt jest swego rodzaju kalkulatorem i oblicza te współczynniki również z plików wczytanych na serwer przez userów, więc na końcu mogą się znajdować puste linie i wtedy skrypt sie posypie, co zrobić z tymi pustymi liniami, nie dało by sie ich jakoś usunąć przy wczytaniu skryptu?
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.