PDA

Pogčedajte punu verziju : Brisanje poslednje linije tekstualnog fajla


Blood
20. 11. 2005., 18:23
Zdravo, vec jedno vreme pratim ovaj forum ali nisam aktivno ucestvovao... Zeleo bih da kazem da mi je jako drago sto ovakav forum postoji jer je zaista potreban...

Elem, imam jedno pitanje, kako da izbrisem poslednju liniju iz nekog tekstualnog fajla?

Unapred hvala i pozdrav!

dinke
20. 11. 2005., 19:53
Pa recimo nesto ovako:


<?php
//file koji menjamo
//podrazumevam da je u ./ diru
//ako ne mora da se zada i path do njega
$filename = "foo.txt";
//prvo ubacimo sve linije u array
$all_lines = file($filename);
//skinemo poslednju
$last = array_pop($all_lines);

//i onda upisemo ceo array u fajl
//u php5 dovoljno je file_put_contents($filename,$all_lines);
//za php4 starinski :)
$fp = fopen($filename,"w");
foreach($all_lines as $line)
{
fputs($fp,$line);
}
fclose($fp);
?>

Ilija Studen
20. 11. 2005., 19:59
Ovo bi (uz manje korekcije) trebalo da odradi posao:

<?php

// Load...
$lines = file('d:/test.txt');

// Remove last line...
if(count($lines) > 0) {
unset($lines[count($lines) - 1]);
}

// Join lines...
die(implode("\r\n", $lines));

?>

PS: Šta je ovo? Takmičenje ko će pre :)

Blood
21. 11. 2005., 22:23
hvala Vam, u sustini problem je malo veci, ono sto meni treba je potpuno uredjivanje nekog tektualnog fajla, naime sve sto upisujem u taj fajl upisujem u novom redu:


pera
zika
mika
laza
marko
janko

e sada mene interesuje da li je nekako moguce da se doda jedan red izmedju zike i i mike znaci da izgleda nekako ovako:

pera
zika
dare
mika
laza
idt

kao i da li je moguce izbrisati lazu iz fajla?

Pretpostavljam da se ovo brisanje radi pomocu neke array funkcije, ali dok ih pregledam skroz ima da osedim...


Hvala

bluesman
21. 11. 2005., 23:18
Ja mislim da je za sve sto nije obicno pisanje i citanje iz fajla, baza podataka najbolje resenje. Znam da misliš da ti nisam odgovorio na pitanje, ali se ipak nadam da jesam :)

dinke
21. 11. 2005., 23:23
Slazem se sa Bluesmanom. Ako te to ipak nije ubedilo, koristi kod koji sam submitovao gore da ubacim ceo fajl u niz. Vrlo je jednostavno umetnuti na odgovarajuce mesto novi i sl. Da je ovo faks mozda bi te terali da to radis preko binarnih stabala, ali posto je php u pitanju, mozes to i sa jednodimenzionalnim array-om :)

Blood
22. 11. 2005., 07:11
i ja mislim da je baza podataka najbolje resenje, medjutim ne zavisi sve od mene...

dinke ako ti nije problem da mi objasnis kako da manipulisem nizovima, u tome sam jako slab!



Hvala

oliver
22. 11. 2005., 11:48
Pa, kako mislis programirati ako ne znas osnove?

Sve fino objasnjeno, sa gomilom primjera:
http://www.php.net/types.array
http://www.php.net/array

dinke, aj meni objasnis kako da manipulisem stringovima :)

dinke
22. 11. 2005., 12:42
Oliver ti je sve rekao. Knjigu u šake :)

Blood
23. 11. 2005., 09:51
hvala... potrudicu se da naucim ovo u sto kracem roku... :)

mega023
24. 11. 2005., 21:58
ako je kolicina podataka mala, mozes se posluziti array-om
i tu lakse mozes manipulisati tim imenima, prebrojavati, brisati, sortirati, dodavati nove i sl...

ako imas veci broj i veliku potrebu za pristupom tom fajlu koristi bazu...