Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana jednej z wielu linijek w pliku TXT
Forum PHP.pl > Forum > Przedszkole
tomilipin
Witam,
chcę napisać skrypt, który operuje na pliku tekstowym i zmienia tylko jedną linijkę. W pliku znajduje się dużo więcej linijek, ale one mają pozostać bez zmian.

Próbowałem przez fputs" title="Zobacz w manualu PHP" target="_manual, fwrite" title="Zobacz w manualu PHP" target="_manual i kombinowałem z tablicami ale nie udało mi się zmienić tylko jednej linijki. Zawartość pliku była m.in. usuwana, albo wcale nie zmieniana...

Problem dość prosty, ale za cholerę nie wiem jak go rozwiązać... dry.gif

Czy moglibyście mi pomóc, proszę?
sobstel
np. utwórz plik tymczasowy i uzyj go do przepisania zawartosci z jednego pliku do drugiego w odpowiednim miejscu wstawiajac tylko odpowiednia linie.
bełdzio
try
dr_bonzo
Jesli plik jest maly: file() > unset() > implode() > file_put_contents()
tomilipin
Chodziło dokładnie o licznik kliknięć. Miał on zliczać ile razy ściągnięto plik oraz umożliwiać pobranie tego pliku. Poradziłem sobie dzięki wcześniejszym tematom dotyczącym fputs: w jednym z nich poznałem obsługę explode" title="Zobacz w manualu PHP" target="_manual i implode" title="Zobacz w manualu PHP" target="_manual i na ich podstawie zrobiłem swój licznik od podstaw smile.gif
  1. <?php
  2.  $plik = fopen('kurde.txt','a+');
  3.  $zmienna = fread($plik,filesize('kurde.txt'));
  4.  $dane = explode(&#092;"|\",$zmienna);
  5.  $id=0;
  6.  //$id=$_GET['id'];
  7.  $dane[$id] = $dane[$id]+1;
  8.  $zapis = implode(&#092;"|\",$dane);
  9.  
  10.  ftruncate($plik,0);
  11.  fwrite($plik,$zapis);
  12.  fclose($plik);
  13.  
  14. $download = array(&#092;"pliczek1.exe\",\"pliczek2.exe\",\"pliczek3.exe\");
  15. header(&#092;"Location: $download[$id]\");
  16. exit; //nie wiem czy jeszcze potrzebne...
  17. ?>

Dziękuję za pomoc
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.