K@llenMedlem sedan mars 20032 667 inlägg 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 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 Tack! Ska kolla på din lösning inom kort. :D