Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zapis na początku pliku
Forum PHP.pl > Forum > Przedszkole
lotmich
Witam Serdecznie, mam pytanie: Jaki wybrać tryb otwarcia pliku aby dane zostały zapisane na początku pliku i nie kasowały już istniejących. Jak użyłem trybu „r+” to dane zostały zapisane ale cała stara zawartość pliku została usunięta. Dokładnie taki sam efekt jest w trybie „w/w+”. Pozdrawiam i z góry dziękuję.
rolnix
http://pl.php.net/fopen

'r+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku.

Nic o obcinaniu nie ma, jesteś pewien? W każdym razie zawsze musisz przesunąć obecne dane o daną ilość bajtów, a potem pisać z początku. Do przesuwania wskaźnika używaj fseek().
PiXel2.0
Pewnie nie obcina tylko nadpisuje.

Otworz najpierw do odczytu ('r') i pobierz zawartosc do lancucha a pozniej dolacz na jego poczatku to co tam chcesz i zapisz calosc otwierajac w trybie 'w'.
lotmich
Jako przedszkolak możesz powiedzieć mi jak mam pobrać dane do łańcucha? Ja wiem tylko tyle ze można pobierać za pomocą substr() tylko, że ta funkcja pobiera od, do części napisu a nie całą zawartość.
rolnix
  1. <?php
  2. $bufor = file_get_contents('plik.txt'); //pobieranie zawartości pliku do zmiennej $bufor
  3. $f = fopen('plik.txt', 'w'); // otwarcie pliku i wywalenie starej zawartości
  4. fwrite($f, $nowe_dane_do_zapisania); // napisanie nowych danych
  5. fwrite($f, $bufor); // dopisanie starych danych
  6. flose($f); // zamknięcie
  7. ?>
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.