[php]Wyciąganie danych z pliku

0

Witam, mam plik „konta.txt”, z którego musze wyciągnąć informacje o nazwie i haśle konta. Problem w tym, ze program, który generuje ten plik zapisuje go w takiej postaci:

Account
{
	Name	zentek
	Password	haslo
}
Account
{
	Name	zentek2
	Password	haslo2
}
Account
{
	Name	zentek3
	Password	haslo3
}

Najpierw musze znaleźć odpowiedni login a następnie sprawdzić czy hasło się zgadza. Czy ktoś wie jak to wykonać?

0

Skorzystaj z wyrażeń regularnych, coś takiego (pisane z palca)

/\s*Name\s*(.*?)\sPassword\s*(.*?)/
0

Myślałem bardziej nad zamianą tego wszystkiego na tablice. Ale nie mam pojęcia jak to zrobić :-/

0

To wyciągasz regexpami i wrzucasz do, jak to nazywasz, tablicy. Powiedz, w czym piszesz, bo bez tego pomoc będzie raczej niemożliwa.

0

Pisze w php5/linux, próbowałem explode, ale to tworzy kilkanaście array i w każdej jedna linijka tekstu. Chciałbym to wszystko umieścić w jednej tablicy lub wyciągnąć, w której linijce jest dane słowo. Wtedy bym sprawdzał czy [linijka hasła] – [linijka loginu] == 1. Lecz nie wiem jak wyciągnąć, w której linii leży dane słowo.

0
dodekam napisał(a)

To wyciągasz regexpami i wrzucasz do, jak to nazywasz, tablicy

:-D

// zakładam, że to przyzwyczajenia Dodka z Pythona, w którym tablic nie ma :P - Cold

0
Adamo napisał(a)

// zakładam, że to przyzwyczajenia Dodka z Pythona, w którym tablic nie ma :P - Cold

Coś w tym stylu - po mojemu autorowi tematu chodzi o słownik, w C++ mówilibyśmy o mapach.

0

No, o tablicę asocjacyjną dokładnie. W PHP nie ma słowników, są tablice asocjacyjne po prostu.

/* słowniki są za to w Pythonie - Cold */

Jak dla mnie to może wystarczy przejść po każdej linii z pliku (plik do tablicy wczytywać można przez file()) i jeżeli w linijce jest "Name" to stworzyć nowy klucz w jakiejś tablicy o takiej nazwie jak za tabem, a wartość w nim będzie brana z następnej linii. I tak dalej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1