Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czytanie wybranego fragmentu pliku
Forum PHP.pl > Forum > Gotowe rozwiązania
Daan
Witam. Mam następujący problem. Potrzebuję skryptu, który wczyta mi dane z pliku, tyle, że tych danych jest kilka. Jaką procedurą wczytać tylko wybraną wartość znajdującą się w określonym miejcu pliku tekstowego?

np.
[WIDTH]
15
[HEIGHT]
25
[AGE]
19

I jak to właśnie zrobić, żeby załóżmy wczytał '15' do zmiennej $wth, 25 do $hth i 19 do $age? Z góry dziękuję serdecznie za pomoc
Pozdrawiam Daan
g-4
witam.

sprobuj tak:

  1. <?php
  2.  
  3. $dane=file(&#092;"sciezka do pliku tekstowego\");
  4.  
  5. $i=1;
  6. $wiersz=explode(&#092;"||\", $dane[$i]);
  7.  
  8. $wth=$wiersz[0];
  9. $hth=$wiersz[1];
  10. $age=$wiersz[2];
  11.  
  12. ?>


plik tekstowy musi wygladac tak:

width||height||age

oczywiscie zamiast nazw wpisz jakies dane
tiraeth
Po co ma zmieniać układ plików skoro można to zrobić inaczej smile.gif

JEżeli w pliku dane są zawarte tak jak w przykładzie podanym przez Ciebie to możemy to zrobić tak:
  1. <?php
  2. $Filename = 'dane.txt';
  3. $Handle = file($Filename); // Pobieramy dane do tablicy
  4.  
  5. $Lines = count($Handle); // Zliczamy ilość linii w pliku
  6.  
  7. // Linia pierwsza to tytuł, druga to wartość, trzecia tytuł, czwarta wartość i tak
  8. dalej
  9.  
  10. for($Linia=0; $Linia<$Lines; $Linia++)
  11. {
  12.  if( !($Linia % 2) )
  13.  {
  14.  //
  15.  // WAZNE JEST ABY OPIS NIE MIAL POLSKICH ZNAKOW
  16.  //
  17.  $Liczba_Wartosc = $Linia++; // Zwiekszamy o jeden aby otrzymać nr linii z zawartością
  18.  
  19.  $Opis = $Handle($Linia);
  20.  $Wartosc = $Handle($Liczba_Wartosc);
  21.  
  22.  $Opis = preg_replace('/[(.*)]'/, &#092;0, $Opis); // Usuwamy [ i ] z opisu aby nazwac zmienną
  23.  $Opis = strtolower($Opis); // Usuwamy duze litery
  24.  
  25.  ${$Opis} = $Wartosc; // Ustawiamy wartosci do odpowiednich zmiennych
  26.  }
  27. }
  28. ?>


W rezultacie jak w pliku mamy:
Kod
[WIDTH]
25
[HEIGHT]
222
[AGE]
21


to otrzymamy:

Kod
$width = 25
$height = 222
$age = 21
Daan
Dziękuję serdecznie, właśnie tego szukałem biggrin.gif
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.