Kezdőoldal » Számítástechnika » Weblapkészítés » Php-ben hogyan törölhetek?...

Php-ben hogyan törölhetek? (bővebben lent)

Figyelt kérdés

Van 1 valami.txt fájlom, ebből szeretnék 1 sort kitörölni.

Mégpedig azt a sort, aminek a tartalma megegyezik egy változóban megadott értékkel.


Lehetséges ilyen?

Vagy egyéb tippek?


2011. ápr. 4. 19:23
 1/8 anonim ***** válasza:

Persze, de nem tudom mennyire fogod érteni (remélem azért fogod)


-megnyitod a fájlt (fopen)

-explodelod soronként (explode("\n", ...))

-végig mész foreachal

-if-fel eldöntöd ha megegyezik a változóval akkor ne csináljon semmit, ha nem akkor tegye be egy tömbbe(array_push)

-a végén fwrtieval beleírod a fájlba a tömb tartalmát

2011. ápr. 4. 22:01
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Ha nem túl sok idődbe kerül, megírnád mailben?

Mert annyira azért nem vágom a php-t, csak szakdogához kell, a fórumrészhez.


Egy txt fájlból kellene törölni egy sort, ami megegyezik 1 változóban megadott értékkel. Egy sorban csak pár szó van, és nincsenek elválasztók( mint pl :!%; ), ezért nem értem, h kell e az explode bele.

2011. ápr. 5. 16:10
 3/8 anonim ***** válasza:

Az explode a sorok elválasztásához kell mivel minden sor végén van egy "\n" (egy láthatatlan karakter de ez a sortörés).

Még mindig nem érted??

2011. ápr. 5. 16:24
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
oké, így jó lesz, köszi
2011. ápr. 5. 17:25
 5/8 A kérdező kommentje:

nekem \n-nel nem akar expodeolni,

ha másra átírom az elválasztókat és azzal engedem rá az explode függvényt, akkor működik.


egyébként nem bele kell írnom(fwrite), hanem ha már tömbökre bontotta a fájlomat, akkor az egyik tömböt törölni

2011. ápr. 5. 20:35
 6/8 anonim ***** válasza:

Basszus tényleg nem érted...Miért kéne tömböt törölni...Beleteszed a tömbbe azokat a sorokat amik kellenek, amelyik pedig nem kell azzal nem csinálsz semmit.

Ha pedig van több sor a txt-ben akkor \n-el kell explodelni.

Például



-----

idáig 2 \n azaz sortörés volt tehát ha ezt explodelni akarod akkor explode("\n", $valtozo);

2011. ápr. 6. 15:29
Hasznos számodra ez a válasz?
 7/8 VODKA0710 ***** válasza:

Ha ennyire nem megy az explode, használd inkább az fgets() parancsot a soronkénti olvasáshoz. Tehát megnyitod a file-t (fopen meg minden) aztán egy while ciklusba (ami addig megy, amíg a file végére nem ér (mondjuk while(!feof(){ ) nézegeted az fgets-el behívott sorokat és összehasonlítod a változó értékével. Tehát valami ilyesmit kéne megcsinálni

$sor = fgets($handle);

if($sor != $valtozo){

$tartalom .= $sor;

}

(Ha nem egyezik a változó értékével a sor, akkor berakja azt a sort a tartalom változóba, amit a ciklus után visszaraksz a file-ba. Így a file-ba mindent visszaraksz, kivéve azt a sort, amelyiket törölni akarod. Remélem érthető voltam, meg segítettem.

2011. ápr. 11. 10:16
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Köszi, így működik
2011. ápr. 11. 11:18

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!