Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] dziwny problem podczas edycji pliku
3miel
post 11.07.2007, 15:41:15
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Witam,

mam mały problem... zrobiłem sobie edycje pliku PHP z ustawieniami. Kod wygląda następująco:

  1. <? 
  2. $sciezka = 'moduly/'.$modul.'/admin_'.$modul.'_ustawienia.php'; 
  3. $plik = fopen( $sciezka, 'r+' ); 
  4. $tresc = file_get_contents($sciezka); 
  5. $nowa_tresc = preg_replace('#wyswietlanych_pozycji=([0-9]{0,3});#', 'wyswietlanych_pozycji='.$_GET['wyswietlaj'].';', $tresc); 
  6.  
  7.  echo '<textarea rows="10" cols="60">'.$nowa_tresc.'</textarea><br />'; 
  8.  
  9. flock( $plik, LOCK_EX ); 
  10. fwrite( $plik, trim($nowa_tresc)); 
  11. flock( $plik, LOCK_UN ); 
  12. fclose( $plik ); 
  13. ?> 
  14.  
  15. // PLIK Z USTAIWNIAMI: 
  16. <? 
  17. $kaskadowe_menu=0;
  18. $wyswietlanych_pozycji=3;
  19. ?>



I tak, w textarea wyświetla się wszystko dobrze, tylko dzieją się dziwne rzeczy gdy się to sapisuje (fwrite), bo gdy zmienie ze w pliku ma się zapisac liczba 50 i pozniej spowroten na np 5 to na koncu pliku dodawany jest znak ">". Dlaczego?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Kicok
post 11.07.2007, 17:04:00
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


Otwórz sobie notatnik, napisz w nim "aaaa" i zapisz plik. Następnie otwórz go ponownie w notatniku, ustaw kursor na samym początku pliku (tuż przed pierwszym "a"), naciśnij Insert na klawiaturze i napisz "bbb". Dokładnie tak działa funkcja fopen z flagą r+

Ty w swoim kodzie musisz najpierw pobrać zawartość pliku, a następie otworzyć go z flagą w, żeby usunąć jego aktualną zawartość.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
3miel
post 12.07.2007, 12:35:45
Post #3





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


W sumie doszedłem do tego samego wniosku:) Tylko myślałem, że mozna to zrobic jakoś inaczej... no cóż, każdy sposób jest dobry.

Dziękuję i pozdrawiam.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:46