ciao a tutti!
ho un problema: mi puo' succedere di dover eliminare una specifica riga da un file di testo, solo che non so come fare... sapete darmi qualche suggerimento?
ciao a tutti!
ho un problema: mi puo' succedere di dover eliminare una specifica riga da un file di testo, solo che non so come fare... sapete darmi qualche suggerimento?
Verba volant, javascripta manent
dipende da come utilizzi il filee di testo...
la cosa più rapida è leggerlo e riscriverlo senza quella riga... ma potresti fare in molti modi diversi.. dipende dagli scopi e dal codice che c'è ora
![]()
toh chi si rivede ^_^ non so se ti ricordi, ci sentivamo spesso su icq, secoli fa![]()
beh, in effetti sono io che sono scomparso ^_^
comunque sia il fatto è che ho un file di testo con un elenco di email, a cui mandare una newsletter, solo che nel testo della mail inviata, dovrebbe comparire un link per rimuovere la propria email dall'indirizzario.
per ora di codice non ho scritto una riga, stavo pensando a come implementare la cosa.
Avevo pensato anche io a eliminare e riscrivere ma speravo esistessero altri sistemi. Avevo pensato una cosa del genere:
ora, questo codice l'ho sbattuto giu' ora, non testato nè niente, per cercar di farti capire cosa avessi per la mente.codice:<? $file=file("./elenco.db"); $trovata = false; for($i=0;$i<count($file);$i++){ if($file[$i]==$emaildarimuovere){ $trovata=true; $riga = $i; break; } } if($trovata){ RIMUOVERE LA RIGA NUMERO $riga }else{echo("spiacente, ma $emaildarimuovere non è presente nel nostro indirizzario"); } ?>
Verba volant, javascripta manent
enrauco? certo che mi ricordo ^_^
Fosti tu ad avviarmi al php se non erro...
cmq io farei semplicemente:
$file=file("./elenco.db");
$newfile='';
for($i=0;$i<count($file);$i++){
if($file[$i]!=$emaildarimuovere) $newfile.=$file[$i]."\n";
}
$fh = fopen('elenco.db','w')
fwrite($fh,$newfile);
fclose($fh);
ti devi scorrere tutto l'array ogni volta è vero... ma se tu sei postola e non usi un DBMS non è colpa mia!
L'alternativa è leggere riga per rigadal file, e quando la trovi la sostituisci con una stringa vuota... (senza neanche il "\n" insomma... dovrebbe compattare quanto segue)..
onestamente preferisco usare un DBMS![]()