Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobieranie z pliku dwóch wartości
Forum PHP.pl > Forum > Przedszkole
playaz44
Witam, z góry zaznaczam iż przeszukiwałem wiedzę wujka google kilka dni zanim tu napisałem ale nie znalazłem interesującej mnie odpowiedzi.
Mianowicie mam plik.txt a jego zawartość wygląda tak:

Cytat
qwerty 12345
ytrewq 54321


i tak około 90 linii, w każdej linii nicki i numery (nazwijmy te litery "nickami", a numery to wiadomo smile.gif) są inne i nigdy się nie powtarzają.

Potrzebuję pobrać do zmiennych nick i numer, z pomocą pewnej osoby powstał taki kod:
$numergg to numer który napisał do bota


  1.  
  2. $plik = file('kontakty.txt');
  3. $_all_users = array();
  4. foreach($plik as $zmienna);
  5. {
  6. $zmienna = explode(' ', $zmienna);
  7. $_all_users[$nickplik[0]][$numerplik[1]];
  8. }
  9. if(isset($_all_users[$numerplik]))
  10. {
  11. $users = $_all_users[$nickplik];
  12. }
  13. else
  14. {
  15. $users = $numergg;
  16. }


Niestety ten kod nie działa ponieważ file() dokleja do końca każdej linii "\\r" i "\\n", próbowałem się tego pozbyć stosując chop() ale wtedy otrzymuję

Cytat
<br /> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/playaz44/bot.php</b> on line <b>96</b><br /> <br />


linia 96 to foreach z powyższego kodu.

Po dodaniu

  1. ini_set('display_errors','1');


wyskakuje
Cytat
<br /> <b>Notice</b>: Array to string conversion in <b>/playaz44/bot.php</b> on line <b>94</b><br /> <br /> <b>Notice</b>: Undefined variable: nickplik in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined variable: numerplik in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined index: in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined variable: numerplik in <b>/playaz44/bot.php</b> on line <b>101</b><br /> <br />


Mam takie pytanie czy ten kod wyżej jest w ogóle poprawnie napisany? Jeżeli tak to jak pozbyć się "\\r" i "\\n" na końcu kazdej linii, jeżeli nie to jakich funkcji muszę użyć żeby wydobyć potrzebny nick?


Dobrym tłumaczem nie jestem daltego chyba będzie prościej jak napisze w pseudo-kodzie co dokładnie próbuję uzyskać

Cytat
jeżeli $numer_ktory_napisał == $numerowi_z_pliku
to zamień $numer_ktory_napisał na $nick_z_pliku_txt
nospor
Cytat
dokleja do końca każdej linii "\\r" i "\\n",

A wystarczy zajrzec do manuala
http://pl1.php.net/file()
i doczytac co dodac, by nie dodawal \r i \n..... no ale po co, szybciej jest na forum leciec.

ps: te chop to sie robi juz w foreach na elemencie a nie przed na tablicy
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.