Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja pliku
Forum PHP.pl > Forum > Przedszkole
outlawReg
Witam

Pisze skrypt który bedzie zapisywał dane do plików z powodu ze na serwerze na którym bede miał strone nie bede mógł mieć narazie bazy ale nie w tym problem chodzi o to jak z edytowac jaką część pliku czyli mam zapełniony plik 5 liniami np. i chciał bym z edytować np. 4, czy mółg mi ktoś powiedzieć jak to zrobić lub może przynajmnie podać jakimi funkcjami sie posłużyć pomiając oczywicie funkcje fwrite.
czachor
IMHO file" title="Zobacz w manualu PHP" target="_manual - kolejny element tablicy to następna linia pliku, więc z wyborem linii nie będziesz miał problemu.
outlawReg
a dalej questionmark.gif
strife
Witam,Przykład
  1. <?php
  2.  
  3. $TwojPlik = file( 'Plik.txt' );
  4. $LiniaDoEdycji = 2;
  5. $Wartosc = 'Zedytowano';
  6.  
  7. foreach ( $TwojPlik as $k => $v )
  8. {
  9.  
  10. if ( $k == $LiniaDoEdycji )
  11. {
  12. $arrNowa .= $Wartosc . &#092;"n\";
  13. }
  14. else{
  15.  $arrNowa .= $v . &#092;"n\";
  16. }
  17.  
  18. }
  19. //.. zapisujesz przez fputs bo fwrite odpada biggrin.gif
  20.  
  21. ?>


Pozdrawiam!
outlawReg
no a jak posłuzyc sie fputs zeby zapisać do tej lini
strife
tak samo jak fwrite tongue.gif
http://pl.php.net/fwrite
outlawReg
bardzo smieszne, mi chodzi o to jak zapisać fwrite coś do lini '3'
strife
Cytat(outlawReg @ 2005-08-07 23:02:49)
bardzo smieszne, mi chodzi o to jak zapisać fwrite coś do lini '3'

  1. <?php
  2.  
  3. $TwojPlik = file( 'Plik.txt' );
  4. $LiniaDoEdycji = 2;
  5. $Wartosc = 'Zedytowano';
  6.  
  7. foreach ( $TwojPlik as $k => $v )
  8. {
  9.     
  10.     if ( $k == $LiniaDoEdycji )
  11.     {
  12.       $arrNowa  .= $Wartosc . &#092;"n\";
  13.     }
  14.     else{
  15.            $arrNowa .= $v . &#092;"n\";
  16.     }
  17.  
  18. }
  19. $handle = fopen( $TwojPlik, &#092;"w+\" );
  20. $save = fwrite( $handle, $arrNowa );
  21. fclose($handle);
  22.  
  23. ?>


Ten skrypt cały plik zamienił na string'a i zapisuje zmieniona 2 linijkę do pliku, \n to znacznik nowej lini więc powinno ją zmienić.

Pozdro!
outlawReg
aha to pomysłowe smile.gif dzięki
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.