[PHP]Array Inhalt nacheinander in eine neue Variable speichern



  • Hallo zusammen!

    Nach dem ich jetzt mein Buch von vorne bis hinten durchgesucht habe bin ich etwas niedergeschlagen das ich für mein Problem keine Antwort gefunden habe.

    Ich hab ein Array das ich mit einer Txtdatei beladen habe.
    Also Datei eingelesen und mit explode in ein Array verfrachtet.

    $fpemail = fopen ("emaildatenbank.txt" , 'r');
    $emails = fread ($fpemail, 1024);
    
    $emailsorter = explode(";", $emails);
    print_r ($emailsorter);
    print $emailsorter[4];
    

    Mit der print_r und print $emailsorter[4] etc. bekomme ich meine Adressen einwandfrei ausgegeben.
    Nur möchte ich die nicht auf dem Bildschirm haben sondern in variablen, jede einzeln.
    sprich: email[0] soll in $var1 rein und email[1] in $var2 etc.

    Möchte das dazu nutzen, einen Newsletter mit der php mail funktion an alle diese Adressen zu schicken.

    mail($empfaenger, $betreff, $txt, $header);
    

    Nur wenn ich jetzt als empfaenger einfach $emailsorter[1] einsetze, dann steht da auch als Empfänder $emailsorter[1] und nicht der inhalt 😞

    Hat vielleicht jemand eine Idee? Gibt auch ne Möglichkeit den String mit den E-Mail Adressen so zu zerlegen , das jede Adresse in einer anderen Variablen steht? ( inhalt der datei ist immer ;email@provider.de;email2@provider.net etc)

    Grüsse,

    Dirk



  • [quote="Devender"]Nur wenn ich jetzt als empfaenger einfach $emailsorter[1] einsetze, dann steht da auch als Empfänder $emailsorter[1] und nicht der inhalt :(/quote]

    Dann machst du etwas falsch. Zeig mal bitte etwas Code.



  • Halo Neku,

    Das ist alles was ich zum einlesen der TXTdatei und zum verschicken der Mail an Code habe.

    <?php
       $fpemail = fopen ("emaildatenbank.txt" , 'r');
        $emails = fread ($fpemail, 1024);
    
        $emailsorter = explode(";", $emails);
       //print_r ($emailsorter); Ausgabe einwandfrei auf dem Bildschirm 
      //print $emailsorter[6];   Ausgabe einwandfrei auf dem Bildschirm 
    
      $empfaenger  = '$emailsorter[4]' . ', '; //Hier scheint er dann einfach emailsorter[4] einzusetzen anstatt den Inhalt davon
      $empfaenger .= '$emailsorter[5]'. ', ';
      $empfaenger .= '$emailsorter[6]';
    
    // für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
    $header  = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    
    // zusätzliche Header
    $header .= 'From: "news@letter.de"' . "\r\n";
    
    // verschicke die E-Mail
    
    mail($empfaenger, $betreff, $txt, $header);
    
    fclose($fpemail);
    ?>
    

    Grüsse,

    Dirk



  • Die Strings mit ' statt " sind dazu da, dass enthaltene Variablen nicht aufgelöst werden, das sollte man wissen 😃

    $empfaenger  = $emailsorter[4] . ', ';
      $empfaenger .= $emailsorter[5] . ', '; 
      $empfaenger .= $emailsorter[6];
    


  • DANKE DANKE DANKE
    Du bist mein heutiger Held!

    😃

    Grüsse und schönen Abend noch

    Dirk


Anmelden zum Antworten