Cancellare una specifica email da un elenco in un file txt

Cosina

Utente Attivo
27 Dic 2016
92
0
6
Buongiorno, approfitto ancora della vostra competenza. Considerato un elenco di indirizzi email in un file.txt messi in questo modo:

[email protected]
[email protected]
[email protected]

Vorrei creare un modulo per cancellare solo un indirizzo specifico, tipo così:

HTML:
<form method="post" action="remove.php">
            <p>Email Address: <input type="text" name="email"></p>
            <input type="submit" value="Remove" name="remove">
        </form>

Ho trovato questo codice in rete, non so se puo servire (ovviamente così non funziona) e, comunque, non so configurarlo per adattarlo al mio caso. Potete suggerirmi il codice giusto, per piacere? Infinitamente grazie.

PHP:
<?php
    $email = $_POST["email"];
    $basetext = file_get_contents("file.txt");
    $oldWord = "$email";
    $newWord = ",";
    $text = str_replace($oldWord , $newWord , $basetext);
    $str1 = $basetext;
    // echo strlen($str1);
    $str2 = $text;
    // echo strlen($str2);
    $fp = fopen('file.txt', 'w');
    fwrite($fp, $text);
    fclose($file);

    if ($str1 > $str2) {
        echo ("You Have Successfully Unsubscribed From Our Newsletter....<br>You Will Not Receive Any More Emails From Us.");
    } else {
        echo ("The Email Address You Specified Is Not In Our Mailing List.");
    }
?>
 

Cosina

Utente Attivo
27 Dic 2016
92
0
6
Sono riuscita a trovare la soluzione da sola. Posto il codice nel caso servisse ad altri e per eventuali osservazioni e/o correzioni. Un saluto a tutti.

PHP:
if( $_POST != null ) {
   
    $email = $_POST['email'];

    $txt_file    = file_get_contents('file.txt');
    $rows        = explode("\n", $txt_file);

    unlink('file.txt');
    $new_file = fopen('file.txt', 'a+');
    foreach($rows as $row)
    {
        $data = explode(';', $row);
       
        if( $data[0] == $email ) {

        } else {
            fwrite( $new_file, $row . "\n" );
        }

    }
    fclose( $new_file );
   
    echo '<script type="text/javascript">alert("Succesfully unsubscription");window.history.go(-1);</script>';

}
 

macus_adi

Utente Attivo
5 Dic 2017
1.320
88
48
IT/SW
Sono riuscita a trovare la soluzione da sola. Posto il codice nel caso servisse ad altri e per eventuali osservazioni e/o correzioni. Un saluto a tutti.
Brava ma pensa anche a questa soluzione:

PHP:
$emails=file('IL_FILE_EMAIL');
$find=array_search('[email protected]',$emails);
if($find!==false)unset($emails[$find]);
file_put_content('IL_FILE_EMAIL',join("\r",$emails));

1- Ossia carichi tutte le email
2- Cerchi l'email che devi cancellare
3- elimini la chiave contenente l'email da cancellare
4- sovrascrivi il file

Come vedi potresti riuscire ad ottenere lo stesso risultato senza eseguire un loop!
 

Cosina

Utente Attivo
27 Dic 2016
92
0
6
Brava ma pensa anche a questa soluzione:

PHP:
$emails=file('IL_FILE_EMAIL');
$find=array_search('[email protected]',$emails);
if($find!==false)unset($emails[$find]);
file_put_content('IL_FILE_EMAIL',join("\r",$emails));

1- Ossia carichi tutte le email
2- Cerchi l'email che devi cancellare
3- elimini la chiave contenente l'email da cancellare
4- sovrascrivi il file

Come vedi potresti riuscire ad ottenere lo stesso risultato senza eseguire un loop!

Grazie mille, lo farò :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
JackIlPazzo Sostituire una riga specifica in un file di testo senza cancellare il rimanente PHP 13
S Cancellare una riga MYSQL PHP 1
Cosina [PHP] Cancellare una riga da un file di testo in base al nome PHP 2
Cosina [PHP] Cancellare una riga da un file txt in base alla data PHP 1
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
Trapano [PHP] Cancellare file da una cartella.... PHP 5
O Cancellare dati da una tabella mysql in modo automatico PHP 2
D Cancellare una Stringa di testo da un file txt PHP 8
M cancellare una immagine dal database PHP 3
C cancellare un elemento in un array memorizzato in una sessione PHP 12
IImanuII Cancellare una cartella piena PHP 14
novello88 [MySQL] Delete Record (cancellare una riga) MySQL 1
B come cancellare i file da una cartella PHP 24
L php file di testo(db) cancellare una stringa Database 0
L php file di testo(db) cancellare una stringa PHP 1
G [MS Access] Cancellare i dati da una maschera MS Access 11
E voglio cancellare una mia discussione chiusa Discussioni Varie 2
LaFata Cancellare una riga in un file di testo PHP 5
G Con Microsoft Outlook 2016 come si possono cancellare le mail doppie? Posta Elettronica 0
L conferma prima di cancellare con javascript e php PHP 16
H cancellare avatar in codice PHP PHP 2
M [PHP] Cancellare singolo file da cartella su server PHP 3
A [PHP] Cancellare riga database a scelta dell'utente PHP 2
C Cancellare un elemento del DOM jQuery 4
D [PHP] CANCELLARE MAILPLAN PHP 2
ste80 [PHP] cancellare/aggiornare record DB PHP 24
K [PHP] Cancellare e Stampare tabella PHP 3
felino [PHP] Cancellare directory con file al suo interno PHP 2
A Cancellare righe vuote in mysql Database 4
L Cancellare web site Weebly Content Management System (CMS) 0
G Pagina facebook da cancellare Facebook 4
M Cancellare record a tempo con formato data mktime PHP 7
E cancellare immagini che non sono nel db mysql PHP 1
max_400 Cancellare le prime 3 righe di un file PHP 4
voldemort Cancellare un file con 0 byte Java 1
A Cancellare record su più tabelle con PHP PHP 27
filippino Come cancellare dati da un database MySQL? Database 1
IImanuII Cancellare righe doppie e ciclo. PHP 2
K Help cancellare manualmente plugin WordPress 2
A cancellare TUTTI i cookies PHP 2
S aiuto non so cancellare i dati: PHP 1
F 2 Div uniti, cancellare bordo. HTML e CSS 1
ivarello Cancellare parole dopo ";" PHP 4
M cancellare del testo in sql PHP 1
F Devo cancellare un sito web su Google SEO e Posizionamento 2
D Non riesco a cancellare un href >.< Javascript 6
valient13 aprire un alert per cancellare Javascript 1
D Come cancellare Internet Explorer 8? Windows e Software 2
M Cancellare tutti i caratteri fra due caratteri PHP 6
L Come faccio a cancellare un account di posta su Apple Mail? Posta Elettronica 1

Discussioni simili