Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połaczenie tablicy asocjacyjnej z plikem tekstowym
Kamiloop
post 10.06.2016, 17:25:16
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 smile.gif

Ten post edytował Kamiloop 10.06.2016, 17:32:00
Go to the top of the page
+Quote Post
kapslokk
post 10.06.2016, 17:32:14
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 10.06.2016, 17:36:53
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 10.06.2016, 17:38:35
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 10.06.2016, 17:40:30
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 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 10.06.2016, 17:43:19
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 10.06.2016, 17:48:57
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 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 10.06.2016, 17:53:44
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 10.06.2016, 18:04:27
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 smile.gif Ale wydaje mi się że jeszcze sporo przy tym pracy. Przy twoim kodzie troche mi sie zapętliło wink.gif
Go to the top of the page
+Quote Post
kapslokk
post 10.06.2016, 18:06:05
Post #10





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

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


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 10.06.2016, 18:11:04
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 10.06.2016, 18:11:22
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


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
Kamiloop
post 10.06.2016, 18:14:15
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ś smile.gif Nie wiedziałem, że taki mały szczegół i cały kod psuje smile.gif Jeszcze raz Dziękuję Tobie i kapslokowi smile.gif
Pozdrawiam smile.gif
Go to the top of the page
+Quote Post
kapslokk
post 10.06.2016, 18:14:55
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 13:06