Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połaczenie tablicy asocjacyjnej z plikem tekstowym
Kamiloop
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Witam, mam problem gdyż brak mi pomysłu jak pobrać dane z pliku tekstowego i umieścić go w tablicy asocjacyjnej.
Na razie jestem na etapie:
Skrypt php
  1. <?php
  2. $odczyt = fopen('passwd.txt','r');
  3. while(!feof($odczyt))
  4. {
  5. $linia = fgets($odczyt);
  6. $tab = explode(' ',$linia);
  7. foreach($tab as $klucz => $wartosc)
  8. {
  9. echo $klucz.' '.$wartosc;
  10. }
  11. }
  12. ?>

Dokument Tekstowy: passwd.txt
kot => biega
kura=>lata


Efekt wyjściowy jest taki: 0 kot1 =>2 biega 0 kura=>lata i nie oto mi chodziło :/ Chciałbym żeby to wyglądało mniej więcej że kiedy wpisze
  1. $klucz
Wypisało mi kot kura. Da się tak zrobić?
Bardzo Proszę o pomoc (IMG:style_emoticons/default/smile.gif)

Ten post edytował Kamiloop 10.06.2016, 17:32:00
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Explode zrób po "=>" a nie " ".
Go to the top of the page
+Quote Post
Kamiloop
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Cytat(kapslokk @ 10.06.2016, 18:32:14 ) *
Explode zrób po "=>" a nie " ".

Zrobiłem też i tak ale Nadal to nic nie zmienia oprócz tego że kod wyjściowy wygląda tak: kot biega kuralata
A chciałbym, mieć tak że jeżeli wywołam
  1. $klucz
lub
  1. $wartosc
wywołało mi kot kura albo biega lata.
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Chłopie, masz echo $klucz.' '.$wartosc; w kodzie, więc kot biega kuralata jest ok. Jak chcesz same klucze to wyświetlaj same klucze.
Go to the top of the page
+Quote Post
Kamiloop
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Cytat(kapslokk @ 10.06.2016, 18:38:35 ) *
Chłopie, masz echo $klucz.' '.$wartosc; w kodzie, więc kot biega kuralata jest ok. Jak chcesz same klucze to wyświetlaj same klucze.

Przepraszam że tego nie ująłem kod też poprawiłem (IMG:style_emoticons/default/smile.gif)
  1. <?php
  2. $odczyt = fopen('passwd.txt','r');
  3. while(!feof($odczyt))
  4. {
  5. $linia = fgets($odczyt);
  6. $tab = explode('=>',$linia);
  7. foreach($tab as $klucz => $wartosc)
  8. {
  9. echo $wartosc;
  10. }
  11. }
  12. ?>

I właśnie zwraca mi kot biega kuralata. Proszę o pomoc w którymś miejscu jest coś nie tak, a ja nie potrafię tego naprawić :/
Go to the top of the page
+Quote Post
kapslokk
post
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


AA bo klucze to 0 i 1 . $tab[0] to klucz ktory potrzebujesz a $tab[1] to wartosc.

explode('=>',$linia); zwraca Ci tablice:
array(0=>"kot ", 1=>" biega");

Foreach jest Ci zupełnie nie potrzebny.

Ten post edytował kapslokk 10.06.2016, 17:46:07
Go to the top of the page
+Quote Post
Kamiloop
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Cytat(kapslokk @ 10.06.2016, 18:43:19 ) *
AA bo klucze to 0 i 1 . $tab[0] to klucz ktory potrzebujesz a $tab[1] to wartosc.

explode('=>',$linia); zwraca Ci tablice:
array(0=>"kot ", 1=>" biega");

Foreach jest Ci zupełnie nie potrzebny.

No tak, tylko że w kodzie, nie jest wspomniane że akurat będzie tam 'kot' i 'biega'. Trudność polega na tym że powinno się ładnie to odczytywać z pliku tekstowego. Niby trudne się nie wydaje, ale gorzej z wykonaniem (IMG:style_emoticons/default/smile.gif)
PS. Jeżeli np wywołam
  1. $klucz
to zwraca mi 0101.

Ten post edytował Kamiloop 10.06.2016, 17:55:00
Go to the top of the page
+Quote Post
kapslokk
post
Post #8





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. <?php
  2. $lines = file('passwd.txt');
  3. foreach($lines as $line){
  4. $line = explode('=>', $line);
  5. echo $line[0]; //Tutaj wyswietlasz Twój klucz
  6. echo $line[1]; //Tutaj wyswietlasz Twoją wartość
  7. }


Chcesz wyświetlić same klucze? Usuń linijkę od wartości. Same wartości? Analogicznie do kluczy.
Go to the top of the page
+Quote Post
Kamiloop
post
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Cytat(kapslokk @ 10.06.2016, 18:53:44 ) *
  1. <?php
  2. $lines = file('passwd.txt');
  3. foreach($lines as $line){
  4. $line = explode('=>', $line);
  5. echo $line[0]; //Tutaj wyswietlasz Twój klucz
  6. echo $line[1]; //Tutaj wyswietlasz Twoją wartość
  7. }


Chcesz wyświetlić same klucze? Usuń linijkę od wartości. Same wartości? Analogicznie do kluczy.

Dobra Dzięki, chciałeś pomóc. Doceniam to (IMG:style_emoticons/default/smile.gif) Ale wydaje mi się że jeszcze sporo przy tym pracy. Przy twoim kodzie troche mi sie zapętliło (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
kapslokk
post
Post #10





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


(IMG:style_emoticons/default/biggrin.gif) To może jeszcze raz od początku. Pokaż jaki masz ten plik passwd.txt i co dokladnie chcesz wyświetlić.
Go to the top of the page
+Quote Post
Kamiloop
post
Post #11





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Mój plik w passwd.txt
kot => biega
kura=>lata
Co chcę wyświetlić:
W pliku passwd jak łatwo (z linuxa) można się domyślić chciałbym pobierać loginy i hasła. Np: Login - kot haslo - biega.
Mniej wiecej o to mi chodzi. Chciałem po prostu to w miare łatwy sposób pobierać, oraz móc do loginu i hasła oddzielnie się odwoływać. Niby proste ale...
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #12





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


  1.  
  2. <?php
  3. $odczyt = fopen('passwd.txt','r');
  4. while(!feof($odczyt))
  5. {
  6. $tab = explode('=>',fgets($odczyt));
  7. echo $tab[0];
  8. }
  9.  
  10. ?>


  1.  
  2. <?php
  3. $odczyt = fopen('passwd.txt','r');
  4. while(!feof($odczyt))
  5. {
  6. $tab = explode('=>',fgets($odczyt));
  7. echo $tab[1];
  8. }
  9.  
  10. ?>


  1.  
  2. <?php
  3. $odczyt = fopen('passwd.txt','r');
  4. while(!feof($odczyt))
  5. {
  6. $tab = explode('=>',fgets($odczyt));
  7. echo $tab[0].'=>'.$tab[1];
  8. }
  9.  
  10. ?>


Ten post edytował LowiczakPL 10.06.2016, 18:13:30
Go to the top of the page
+Quote Post
Kamiloop
post
Post #13





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.06.2016

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


Cytat(LowiczakPL @ 10.06.2016, 19:11:22 ) *
  1.  
  2. <?php
  3. $odczyt = fopen('passwd.txt','r');
  4. while(!feof($odczyt))
  5. {
  6. $tab = explode('=>',fgets($odczyt));
  7. echo $tab[0];
  8. }
  9.  
  10. ?>


  1.  
  2. <?php
  3. $odczyt = fopen('passwd.txt','r');
  4. while(!feof($odczyt))
  5. {
  6. $tab = explode('=>',fgets($odczyt));
  7. echo $tab[1];
  8. }
  9.  
  10. ?>

Dzięki, pomogłeś (IMG:style_emoticons/default/smile.gif) Nie wiedziałem, że taki mały szczegół i cały kod psuje (IMG:style_emoticons/default/smile.gif) Jeszcze raz Dziękuję Tobie i kapslokowi (IMG:style_emoticons/default/smile.gif)
Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kapslokk
post
Post #14





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


To może jeszcze raz to samo, tylko bardziej obrazowo:


  1. <?php
  2. $lines = file('passwd.txt');
  3. foreach($lines as $line){
  4. $line = explode('=>', $line);
  5. list($login, $haslo) = $line;
  6. echo("Haslo użytkownika $login to: $haslo <br/>");
  7. }
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: 15.09.2025 - 18:12