PROGer
9.09.2015, 09:52:46
Witam,
załóżmy że mamy plik new.txt w którym mamy 2 linijki:
ekam:password
Lekam:1
ekam - to nazwa usera
password - to hasło tego usera
Lekam - to nazwa flagi składająca sie z przedrostka L oraz nazwy usera
1 - to wartość flagi
Chciałbym po otwarciu tego pliku, znaleźć unikalny ciąg znaków (Lekam:) i zczytać po tym ciągu kolejny znak czyli 1 i zapisac go do zmiennej.
Istnieje w PHP funkcja która to obsłuży?
nospor
9.09.2015, 09:55:26
Tak, preg_match()
A jesli tam są tylko te dwie linijki o ktorych mowisz, to mozes sie pobawic nawet explode()
PROGer
9.09.2015, 10:23:26
Zrobiłem to w taki sposób:
$fp = fopen("plik", "r"); $findstring = 'L'.$GLOBALS["USER"].':';
$findresult = preg_match('/'.$findstring.'/',$fp);
nie ma żadnego wydruku ... gdzie popełniam błąd?
W przykładowym pliku sa 2 linijki ... docelowo będzie ich bardzo dużo. Każdy user będzie posiadał własnie takie 2.
nospor
9.09.2015, 10:33:23
Czemu zakladasz ze fopen zwraca zawartosc pliku? W manualu wyraźnie napisano co on zwraca.
Wystarczylo tez zrobic
var_dump($fp);
by na wlasne oczy sprawdzic co ci fopen zwraca. Taka analiza na czym sie pracuje naprawde nie jest trudna, jest wrecz banalna i nie wymaga specjalnego wysilku intelektualnego.
O to:
http://php.net/manual/en/function.file-get-contents.phppobiera od razu zawartosc pliku.
PROGer
9.09.2015, 11:26:40
Bardzo dziekuję za uwagi które biorę na klatę i za pomoc!

Chciałbym jeszcze spytać ... funkcją unset(); można usunąć coś z pliku, a czy jest funkcja do podmiany? Np wartość 1 chcę zamienić na 0
nospor
9.09.2015, 11:30:57
Nie, funkcja unset nie usuwa nic z pliku.
I nie, nie ma rowniez zadnej funkcji, ktora cokolwiek podmienia w pliku.
By cokolwiek w pliku usunac, to trzeba plik wczytac, skasowac co chcesz skasowac i zapisac plik na nowo.
To samo z podmianą. Trzeba plik wczytac, podmienic co sie chce podmienic i zapisac na nowo