Mistrzu4
(Fajlip4)
#1
Witam!
Mam plik “conf.txt”:
linijka1
linijka2
linijka3
linijka4
linijka5
I szukam do niego skrypt który edytował by tylko jedną linijkę, na przykład tylko trzecią.
Znalazłem jedynie skrypt który umożliwia edycje całego pliku:
-Skrypt
-Podgląd
Czy jest możliwość zbudowania takiego czegoś?
Może ktoś z was spotkał się z czymś takim?
Proszę o pomoc.
Pozdrawiam!
janki111
(janki111)
#2
spróbuj poleceniem count(conf.txt); -> policzy Ci to ilość wierszy jeśli się nie mylę
i potem jakoś wymyślisz by ta konkretną linijkę zmieniło
funkcja:
function zmianaLinijki($nazwaPliku, $index, $nowaLinia) {
$plik=file($nazwaPliku);
$plik[$index]=$nowaLinia."\r\n";
$fp = fopen($nazwaPliku, "w");
while (!flock($fp, 2))
asleep(50);
fputs($fp, implode("", $plik));
flock($fp, 3);
fclose($fp);
}
[*:2kketbff]tylko php5
function zmianaLinijki($nazwaPliku, $index, $nowaLinia) {
$plik=file($nazwaPliku);
$plik[$index]=$nowaLinia."\r\n";
file_put_contents($nazwaPliku, $plik);
}
przykład użycia:
zmianaLinijki('test.txt', 3, 'nowa 4. linijka');
zmieni 4. linijkę ( 3. licząc od zera) w pliku o nazwie test.txt (można podać również ścieżkę do pliku) na nowa 4. linijka
edit: sory za zbieżność nazw zmiennych, poprawiłem na trochę jaśniejszy przykład (przynajmniej tak mi się wydaje
)
Mistrzu4
(Fajlip4)
#5
Dodałem do tego formularz ale niestety nie działa.
Kod
Wywala błąd w 18 lini, a nie wiem co tam jest źle.
jj_el
(Jacek705)
#6
-
nie zamknięty elseif przed function
-
w parametrach funkcji użyłeś
$_POST['napis]
. Zamień na $napis i niżej
$plik[$index]=$napis."\r\n";
Mistrzu4
(Fajlip4)
#7
Bardzo dziękuje za pomoc, skrypt bardzo mi się przyda.