webForumDet fria alternativet

Radera från textfil

2 svar · 495 visningar · startad av K@llen

K@llenMedlem sedan mars 20032 667 inlägg
#1

Hej,

Har mest jobbat med databaser och är inte så bra på filhantering i PHP. Ponera att jag har följande innehåll i en fil:

aaaaa|bbbbb|ccccc|ddddd|
ggggg|hhhhh|iiiii|jjjjjj|

Detta vill jag göra:
1. Kolla om det finns en rad med ett visst innehåll i andra kolumnen.
2. Om jag har värdet "bbbbb" i en variabel, så vill jag ta bort den rad där värdet matchar värdet i andra kolumnen.

Tacksam för hjälp!

mvh Jörgen

PS. Hade jag själv fått bestämma hade jag använt en databas. ;)

colioneMedlem sedan juni 20014 421 inlägg
#2

Hmm, det finns olika sätt att lösa det på...du kan anitngen läsa in allt på en gång och typ matcha mot ett regexp. Eller läsa rad för rad och sedan skriva om filen. Här är ett exempel på det senare, otestat...

$clause="bbbb";
$new_cont="";
$handle = @fopen("filen", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer=fgets($handle);
        if (!check_exist($buffer,$clause)) {
         $new_cont.=$buffer;
       }
    }
    fclose($handle);
}

$handle = @fopen("filen", "w+");

if ($handle) {
fwrite($handle,$new_cont);
fclose($handle);
}

function check_exist($haystack,$needle) {
list(,$val)=split("|",$haystack,2);
return ($val===$needle);
}
K@llenMedlem sedan mars 20032 667 inlägg
#3

Tack! Ska kolla på din lösning inom kort. :D

119 ms totalt · 3 externa anrop · v20260731065814-full.102f7fcd
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
117 ms — hämta tråd, inlägg och bilagor (db)