Php-ben hogyan törölhetek? (bővebben lent)
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?
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
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.
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??
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
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);
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!