Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]czytanie pliku i generowanie listy
droite
post 29.05.2017, 15:54:08
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2017

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


Witam, mam pewien problem w PHP i nie wiem jak się do tego zabrać, poniżej wrzucam zdjęcie kawałka dużego pliku żeby łatwiej opisać o co mi chodzi.

potrzebuje wyciągnąć z pierwszej i drugiej linii liczbę przykładów i kroków do zmiennej.
Nie wiem jak czytać plik znak po znaku (Fread?) aby zawsze po spacji wyciągnąć znak do zmiennej/listy i jak wykryć przejście do nowej linii?
Czy lepiej wczytać całość poprzez file() i przycinać np substr()?

Czytając plik muszę wyciągać ciąg zaznaczony na żółto i wartości prawdopodobieństwa z każdej linii. Taki zaznaczony ciąg powtarza się wiele razy, załóżmy 3 razy wtedy uzyskałbym listę lub tablicę 0100000000000000 = 3 linie po 16 wartości + kolejny różniący się ciąg z kolejnymi wartościami. Jak już uporam się z czytaniem tego co chce z pliku to zastanawiam się jak utworzyć taką strukturę?
Zdaje sobie sprawę że może być trudno zrozumieć o co mi chodzi ale byłbym wdzięczny za każdą podpowiedź.
Dzięki pozdrawiam
Go to the top of the page
+Quote Post
Pyton_000
post 29.05.2017, 15:57:27
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Wczytujesz sobie linijka po linijce `fgets()` i sprawdzasz warunki. Do rozbicia lini `explode()`
Go to the top of the page
+Quote Post
droite
post 29.05.2017, 21:35:25
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.05.2017

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


całkiem fajne rozwiązanie ale nadal mam problem ruszyć to dalej
napisałem:
  1. $linia = fgets($handle, 15);
  2. $podzielona_linia = explode(" ", $linia);
  3. $examples=$podzielona_linia[1];

dzięki temu mam w zmiennej ilość przykładów, musiałbym to powtórzyć aby zapisać ilość kroków ale jak zapętlić to dalej? Tu już pojawia się powtarzalność.
Jak zrobić pętle do końca pliku w której dwie kolejne linie wczytają do zmiennej Przykład =1 i Poprawny =0 i następnie kolejne 16+1 wartości aż do rozpoznania nowej linii?
Można pozyskać informacje o ilości linii w pliku? Może lepiej spisała by się funkcja file() i odwoływanie się po indeksach?


Go to the top of the page
+Quote Post
slawek3422
post 30.05.2017, 08:16:35
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

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


  1. $ile_linii = count($podzielona_linia)-1;


I teraz tej zmiennej używasz w pętli for.
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: 8.07.2025 - 18:54