Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Kasowanie wierszy z pliku .txt
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


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:
Go to the top of the page
+Quote Post
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


  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.
Go to the top of the page
+Quote Post
xamrex
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


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
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


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.

Ten post edytował Pilsener 26.03.2008, 09:46:30
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 Aktualny czas: 21.08.2025 - 06:31