Edytowanie wycinka pliku

0

Jak w temacie. Mam plik 'plik.txt', i chcę nadpisać coś w nim, lecz text który ma się nadpisać, nadpisuje się na całym pliku a nie na tym wycinku. Chcę, żeby wartość zapisała mi się dopiero jako 3 wartość. Oto kod:

	$wartosc++;
	$open = fopen("plik.txt","w+");
	$wycinek = explode(" ",$open);
	$llol = fwrite($wycinek[6],$wartosc);
	fclose($oopen); 

Jak go zmienić ? Proszę o pomoc .

0

ja to bym tak zrobił

$plik = file_get_contents('plik.txt');   //Pobieranie zawartości pliku 'plik.txt'
$plik = $plik + "cos tam cos tam";     //Dodanie do tej zawartości jakiegoś ciągu znaków
file_put_contents($plik, 'plik.txt');   //Zapisanie z powrotem do pliku.
0

No to ja nie rozumiem w czym problem, wystarczy między pierwszą a trzecią linijką wstawić intrukcje odpowiednio modyfikujące zawartość pliku. Poczytaj może o łączeniu łańcuchów i wyrażeniach regularnych.

0

mógłby mi ktoś napisać przykład jak zmodyfikować tą jedną, jedyną linijkę? Proszę?

0

Nie znam się za bardzo na php, i nie napiszę Ci kodu bo pewnie coś poprzestawiam ale wiem że jest funkcja explode();. Użyj jej do rozdzielenia ciągu znaków z pliku do tablicy wg separatora, w tym wypadku spacji. Teraz, pierwszym elementem tej tablicy będzie pierwsza liczba, drugim druga, trzecim trzecia i tak dalej. Potem możesz zwiększyć o 1 wartość tego jednego elementu tablicy a potem użyć funkcji implode(); (odwrotna do explode();) i zamienić tablicę z powrotem do jednego ciągu i zapisać do pliku.

Edit.
Plik wygląda tak:
12 2 1 33 1
czy tak

12
2
1
33
1

?

1

MOŻLIWE że to bd jakoś tak

$plik = file_get_contents("tekst.txt");
$tablica[] = explode(" ", $plik);
$tablica[3] = $tablica[3] + 1;
$plik = implode(" ", $tablica);
file_put_contents($plik, "tekst.txt");

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