![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 22.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam takie pytanie, czy istnieje mozliwość dopisywania danych do pliku w konkretnym miejscu? Np chciałbym by pewne dane były dopisane po pewnej konkretnej fazie.
Dla przykładu, mam plik z treścią:
Np po wystąpieniu frazy
chcę dopisac dane pobrane z formularza powiedzmy:
Założenie jest takie ze dopisywane dane nie zawsze są na koncu pliku bo fraza po ktorej ma nastąpic dopisanie raz bedzie w okolicach poczatku pliku a raz w srodku. Da sie to ogarnąć? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
Jest funkcja fseek(), która po otworzeniu pliku może ustawić wskaźnik na konkretnym bajcie i tam rozpocząć dopisywanie. Problemem jest jednak znalezienie tego miejsca gdzie chcesz dopisywać. Moim zdaniem ta opcja odpada. Można też pobrać zawartość pliku z file_get_contents() i dodać nowy produkt z preg_replace() przykładowo. Następnie zapisać plik ponownie. Innym pomysłem, który mógłby wypalić jest użycie funkcji file() do odczytania pliku. Zwraca ona tablicę, gdzie każdy element jest jedną linią pliku. Następnie używając funkcji preg_grep() możesz znaleźć konkretną linię po której chcesz dopisywać. Dodajesz swoje dane i zapisujesz plik ponownie. Na nic innego nie wpadłem. Pozdrawiam. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
W przypadku dużych plików funkcja file, odpada bo może szybko zjeść całą dostępną pamięć.
-------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:03 |