Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Kasowanie linii X z pliku txt
Ania-678
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


Witam.

Mam problem, a mianowicie potrzebuję jakiegoś sposobu do kasowania linijki X (tu jakaś liczba) z pliku txt...

Wykombinowałam coś takiego:
  1. <?php
  2. $plik = file('plik.txt');
  3. unset($plik [10]);
  4. foreach($plik as $numer => $linia)
  5. {
  6. echo $numer.': '.$linia.'<br />';
  7.  
  8. }
  9. ?>


ale unset powoduje tylko że ta linijka znika z echo'wania ale nie z pliku i po wielu próbach (nawet ze str_replace) nie moge dojść jak się ów linijki pozbywać z tegoż pliku...

Ten post edytował Ania-678 1.08.2007, 22:26:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Hostis
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.07.2007
Skąd: /home/skawina

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


A może by jeszcze zapisać zmiany w pliku (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) bo tak to wywala tylko z tablicy. A ta tablicą przydało by się jeszcze nadpisać plik (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sticker
post
Post #3





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


no bo unset działa na pamięci a nie na pliku
1) wczytaj plik tak jak zrobiłeś
2) zrób unseta
3) zrob implode
4) zapisz plik na nowo
Go to the top of the page
+Quote Post
Ania-678
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


Dziad ruszyć nie chce (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Taki wygląda Moje zapisywanie tekstu do txt:

  1. <?php
  2. $file="plik.txt";
  3. $fp=fopen("$file", "r+");
  4. $dane=$dane.fread($fp, filesize($file));
  5. rewind($fp);
  6. flock($fp, 2);
  7. fwrite($fp, $dane);
  8. flock($fp, 3);
  9. fclose($fp);
  10. ?>


A tak zaś te ferelne wyświetlanie:

  1. <?php
  2. $plik = file('plik.txt');
  3. foreach($plik as $numer => $linia)
  4. {
  5. echo $numer.': '.$linia.'<br />';
  6.  
  7. }
  8. ?>


Zaś sam txt tak:

  1. <?php
  2. BlaBla
  3. Blablablafg
  4. Blablafgdfgabla
  5. Blablabfgdla
  6. Blablablablfdgdf
  7. ?>


Przeszukałam neta na temat tych informacji i nieco było, ale nie zadaje egzaminu...
Go to the top of the page
+Quote Post
strife
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat
1) wczytaj plik tak jak zrobiłeś

Sądząc po nick'u raczej "zrobiłaś" - powinno być (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

@Ania-678 - Zrób tak jak napisał ~sticker, zobacz jakie Ci dał wzkazówki. Wszystko masz napisane co masz zrobić, a w kodzie, który podałaś nie widzę, abyś tego sposobu próbowała. Przykładowo:

  1. <?php
  2. $file = file('plik.txt');
  3. unset($file[200]); // usuwamy 200 linijke
  4. file_put_contents('plik.txt', implode(',', $file));
  5. ?>


Pisane z palca, ale mniej więcej tak powinno wyglądać usuwanie konkretnej linijki.

Pozdrawiam.
Go to the top of the page
+Quote Post
sticker
post
Post #6





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


ups przpraszam przyzwyczaiłem sie że sami faceci tu siedzią (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Ania-678
post
Post #7





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 15.06.2007

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


No zrobiłam tak i kasują się (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Ale... przy poprzednich wpisach się , mnożą...

  1. <?php
  2. hgfhfghfg
  3. ,,,,,,,,,,,,ghfghfg
  4. ,,,,,,,,,,,,rtretert
  5. ,,,,,,,,,,,,rtete
  6. ,,,,,,,,,,,,rterte
  7. ,,,,,,,,,,,,uyiuy
  8. ,,,,,,,,,,,,qwewqe
  9. ?>


:roll2:

EDIT: Już działa, wystarczyło że usunełam z imlode'a , :

  1. <?php
  2. file_put_contents('plik.txt', implode('', $file));
  3. ?>


(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Ania-678 2.08.2007, 11:29:48
Go to the top of the page
+Quote Post
sticker
post
Post #8





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


no to piknie :]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 20:00