lotmich
4.11.2007, 14:40:33
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
4.11.2007, 14:43:57
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
4.11.2007, 14:55:48
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
4.11.2007, 19:38:17
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
4.11.2007, 19:50:12
<?php
$bufor = file_get_contents('plik.txt'); //pobieranie zawartości pliku do zmiennej $bufor $f = fopen('plik.txt', 'w'); // otwarcie pliku i wywalenie starej zawartości fwrite($f, $nowe_dane_do_zapisania); // napisanie nowych danych fwrite($f, $bufor); // dopisanie starych danych flose($f); // zamknięcie
?>
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.