Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak odczytac dane z pliku tekstowego
JamalBIG
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

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


Witam

W jaki sposob odczytac a nastepnie wyswietlic dane z pliku tekstowego np. jezeli chcialbym odczytac pole name z pliku tekst.txt jezeli mam taki tekst:

elcome_to_2k8-cr.mp3eee4:name:VA-DJ_31_Degreez-Forecast_16-(Bootleg)-2008-CR10:name.utf-846:VA-DJ_31_Degreez-Forecast_16-(Bootleg)-2008-CR12:piece lengthi65536e6:piece

Pozdrawiam
Go to the top of the page
+Quote Post
aiv
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

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


Zapoznaj się z funkcjami:
fopen" title="Zobacz w manualu PHP" target="_manual - otwieranie pliku
fgetcsv" title="Zobacz w manualu PHP" target="_manual - odczytywanie pliku z liniami podzielonymi usystematyzowanym separatorem
fclose" title="Zobacz w manualu PHP" target="_manual - zamykanie pliku

zamiast ww. funkcji mozesz zrobic to jeszcze tak:
file" title="Zobacz w manualu PHP" target="_manual - otworzenie pliku i pobranie zawartosci do tablicy a pozniej przejechac po tablicy pętlą for" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
AxZx
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


kombinuj jakos tak
  1. <?php
  2. $dane = file_get_contents('plik.txt');
  3. $nowe = preg_match('|name:(.*):|', $dane);
  4. ?>
Go to the top of the page
+Quote Post
JamalBIG
post
Post #4





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

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


<?php
$dane = file_get_contents('plik.txt');
$nowe = preg_match('|name\:(.*)\:|', $dane);
?>

Przy tym kodzie wyskakuje tylko '1' albo '0' wiec pewnie w '|name\:(.*)\:|' jest problem... Wiecie moze co jest zle albo gdzie moge znalezc instrukcje 'co sie tu wpisuje'?

Ten post edytował JamalBIG 17.01.2008, 14:54:38
Go to the top of the page
+Quote Post
Cezar708
post
Post #5





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Jeśli format stringa jest taki sam (czyli zaczyna się od name: a kończy dwukropkiem) to wystarczy:
  1. <?php
  2. $str = "name:VA-DJ_31_Degreez-Forecast_16-(Bootleg)-2008-CR10:";
  3.  
  4. $str = ltrim($str, "name:");
  5. $str = rtrim($str, ":");
  6.  
  7. echo $str;
  8. ?>


w innych wypadkach potrzebne Ci będzie wyrażenia regularne. ( a o tym już było na tym forum nie raz )
Go to the top of the page
+Quote Post
webdice
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(JamalBIG @ 17.01.2008, 14:32:43 ) *
<?php
$dane = file_get_contents('plik.txt');
$nowe = preg_match('|name\:(.*)\:|', $dane);
?>

Przy tym kodzie wyskakuje tylko '1' albo '0' wiec pewnie w '|name\:(.*)\:|' jest problem... Wiecie moze co jest zle albo gdzie moge znalezc instrukcje 'co sie tu wpisuje'?


Funkcja preg_match" title="Zobacz w manualu PHP" target="_manual przyjmuje jeszcze trzeci parametr.

  1. <?php
  2. $nowe = preg_match('|name:(.*):|', $dane, $res);
  3.  
  4. print_r ($res);
  5. ?>
Go to the top of the page
+Quote Post
JamalBIG
post
Post #7





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

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


Juz sie troche pogubilem... Chodzi mi o kod ktory bedzie wszystko obcinal co jest przed name a nastepnie obcinal wszystko co jest po drugim : (dwukropku), tak aby tekst w postaci

ble1ble2ble3:name:JakasNazwa:ble4ble5ble6

odczytany z pliku plik.txt, wyswietlil mi sie jako:

name:JakasNazwa

Pozdrawiam
Go to the top of the page
+Quote Post
Cezar708
post
Post #8





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


to może tak:
  1. <?php
  2. $str = "ble1ble2ble3:name:JakasNazwa:ble4ble5ble6";
  3. $str = strstr($str, "name:");
  4. $a = explode(":", $str);
  5. $str = "name:".$a[1];
  6. echo $str;
  7. ?>
Go to the top of the page
+Quote Post
JamalBIG
post
Post #9





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

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


Dzieki wielkie dziala dokladnie tak jak chcialem!

A jeszcze jedno...
Jezeli mial bym kilka ":"(dwukropkow)?
Np.

ble1ble2ble3:name:Jakas:Nazwa:Tutaj:ble4ble5ble6

I chcialbym miec:

name:Jakas:Nazwa:Tutaj

Ten post edytował JamalBIG 17.01.2008, 19:22:18
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.01.2026 - 03:03