Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kasowanie wierszy z pliku .txt
Forum PHP.pl > Forum > Przedszkole
xamrex
Elo,
Chciałbym napisać taki skrypt, wktórym podawałbym numer wiersza w pliku.txt i ten skrypt usówał by mi te wiersze, lub zastępował np. 'spacją'
coś takiego to by było:
Pilsener
  1. <?php
  2. function edytuj_linie ($filename, $index, $line) { //Zamienia linie w pozycji $index na ciag z $line 
  3.  $file = file ($filename); 
  4.  $file[$index] = $line . "r\n"; 
  5.  $fp = fopen ($filename, "w"); 
  6.  flock($fp, LOCK_EX); 
  7.  for( $w = 0; $w < count($file); $w++ ) 
  8. { 
  9. fwrite ($fp, $file[$w]); 
  10. } 
  11.  flock($fp, LOCK_UN); 
  12.  fclose($fp); 
  13. }
  14. ?>
- usuwanie jest jeszcze prostsze. Wczytuje plik do tablicy funckją file, usuwasz wybrany element funkcją unset, zapisujesz.
xamrex
Kod
<?php
function edytuj_linie ($filename, $index, $line) { //Zamienia linie w pozycji $index na ciag z $line

   $file = file ($filename);
   $index = 1,4,7,11,16; // zamienia linie pierwsza,czwarta,siodma,jedenastka,szesnasta
   $line = ' '; // zamienia mi na spacje
   $filename = file('plik.txt'); //tu otwera mi plik
   $file[$index] = $line . "\r\n";
   $fp = fopen ($filename, "w");
   flock($fp, LOCK_EX);
   for( $w = 0; $w < count($file); $w++ )
      {
      fwrite ($fp, $file[$w]);
      }
   flock($fp, LOCK_UN);
   fclose($fp);
  }
?>


Coś takiego udało mi się zmajstrować.. Ale mi to nie działa ;(
Chodzi mi o to żeby z pliku plik.txt zamieniał na 'spacje' linie np. 1,4,7,11,16
Pilsener
Funkcji używa się tak:

$argument_1
$argument_2
nazwa_funkcji($argument_1,$argument_2);

Funkcja coś robi, zwraca jakiś wynik lub komunikat etc.

U Ciebie ma być tak:
  1. <?php
  2. $plik = 'twojplik.txt';
  3. $index = 1;
  4. $line = ' ';
  5. edytuj_linie($plik,$index,$line);
  6. ?>
- oczywiście funkcję edytuj_linie musisz zadeklarować w kodzie wczesniej w takiej postaci, jaką podałem wcześniej. Najlepiej funkcję trzymać w oddzielnym pliku i includować na początku skryptu.

Za index musisz po kolei podstawiać 4,6 etc. - kod musi być wykonany tyle razy, ile razy chcesz podmienić linię w pliku. Możesz też zrobić to na tablicach i użyć pętli. Proponuję poczytać w kursie php o pisaniu własnych funkcji, używaniu tablic oraz pętli.
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.