Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php - pobieranie danych z pliku txt
Forum PHP.pl > Forum > PHP
dawid77
Witam:) Mam taki problem! mam mały skrypcik który wczytuje mi dane z pliku tekstowego! Skrypt wygląda tak:

<?php
$plik = file('plik.txt');

echo '<ul>';
foreach($plik as $numer => $linia1)
{
echo trim($linia1).'</li>';

}
echo '</ul>';

?>

I wszystko jest ok tylko niewiem jaki wpis dodać żeby pokazywał mi tylko wyrazy z danej lini lub danego miejsca. Tzn chodzi mi o to że np mam plik tekstowy zawierający tekst:

|tekst1|tekst5|cos1
|tekst2|tekst6|cos2
|tekst3|tekst7|cos3
|tekst4|tekst8|cos4

a skrypt ten pokazuje mi wszystko i to jeszcze obok siebie!
i właśnie jaki wpis dodać żeby wyswietlał mi przykładowo tylko wyrazy np:
tekst1
cos3
tekst5

tzn bez podawania konkretnych lini tylko na stałe żeby skrypt miał wpisane żeby z tego pliku pobierał tylko te wyrazy:)
Był bym bardzo wdzięczny za pomoc:)
kszychu
dawid77: popraw proszę swój post i uzupełnij go o tagi bbcode, dzięki którym kod stanie się czytelniejszy dla innych i być może szybciej uzyskasz odpowiedź na swoje pytanie.
Nostress
Zapoznaj się z funkcją explode" title="Zobacz w manualu php" target="_manual.

Będzie to dodanie jednej linijki wewnątrz pętli, a później tylko wyświetlanie tego, co będziesz chciał...

  1. <?php
  2. //...
  3. foreach($plik as $numer => $linia1)
  4. {
  5.  $dane = explode( '|', $linia1 );
  6.  // w tablicy $dane masz kolejno (z twojego przykładu):
  7.  // $dane[0] - null, pusto
  8.  // $dane[1] - tekst1
  9.  // $dane[2] - tekst5
  10.  // $dane[3] - cos1
  11. }
  12. //...
  13. ?>
matipl
masz błąd, zapomniałeś zacząć znacznika <li>. Zamiast:
  1. <?php
  2. echo trim($linia1).'</li>';
  3. ?>

powinno być:
  1. <?php
  2. echo '<li>' . trim($linia1) . '</li>';
  3. ?>
dawid77
hmmm udało mi sie znaleść prostrze rozwiązanie tylko mam pytanie odnośnie skryptu:

// tu podaje ścieżkę pliku

<?php $fp = fopen("http://192.168.1.1/plik/plik.txt", "r");

// następnie ilość znaków które ma wyświetlić

$tekst = fread($fp, 29);

//oraz wyświetlenie znaków
echo $tekst

tylko jak zrobić żeby nie czytał mi 29 pierwszych znaków tylko przypuszczalnie znaki od 20 do 29
kszychu
@dawid77: po raz drugi i ostatni proszę o używanie poprawnego bbcode! Następnym razem niezastosowanie się do poleceń moderatora poskutkuje ostrzeżeniem. Czym z kolei skutkuje zgromadzenie na koncie kilku ostrzeżeń sprawdź w Regulaminie.
dawid77
hmmm jeśli nikt niewie jak to zrobić od znaku do znaku to może jeszcze inaczej żeby niezaczynać nowego postu : zna ktos może taki skrypt który z pliku tekstowego wczyta dane tzn przypuszczalnie w prawym rogu w pliku tekstowym mam imie i nazwisko w lewym date itd i żeby wczytywał mi te dane z różnych miejsc. Był bym bardzo wdzięczny gdyby ktoś mógł mi pomóc:)
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.