attachment an mail-formular anhaengen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • attachment an mail-formular anhaengen

    hi,

    vorsicht: blutiger anfaenger (bitte habt nachsicht ...)

    bin neu hier. bei einem aktuellen web-projekt habe ich endlich die gelegenheit mich an das thema php heranzutasten. dabei ist folgendes problem aufgetaucht:

    ich moechte ein mail-formular in die seite einbinden, in dem der user die moeglichkeit hat optional ein attachment anzuhaengen. abgesehen vom "einfachen" versenden der nachricht soll das script noch folgende eigenschaften besitzen: erkennen, ob ein attachment zum versand hochgeladen wurde, auslesen des dateinamens und erkennen des mime-types.

    Nach dem lego-prinzip habe ich folgendes script zusammengeschustert. beim laden der seite tritt dann aber ein parse-error in line 13 ($b = 0) auf. was ist falsch????

    hier das script:

    PHP-Code:
    <?php
        
    function xmail 
    ($an 'daniel.siegesmund@preme.de'
    $email_cc
    $email_bcc
    $von
    $subject 'test'
    $msg
    $attach_filepath
    $want_attach
    {

    __ _ _ $b 
    0;
    __ _ _ $mail_attached 
    "";
    __ _ _ $boundary 
    "000XMAIL000";
    __ _ _ 
    if (count($attach_filepath)>&& $want_attach) {
    __ _ _ _ _ 
    for ($a=0;$a<count($attach_filepath);$a++) {
    __ _ _ _ _ _ _ 
    if ($fp=fopen($attach_filepath[$a],"rb")) {
    __ _ _ _ _ _ _ _ _ $file_name
    =basename($attach_filepath[$a]);
    __ _ _ _ _ _ _ _ _ $content
    [$b]=fread($fp,filesize($attach_filepath[$a]));
    __ _ _ _ _ _ _ _ _ $mail_attached
    .="--".$boundary."\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    ."Content-Type: image/jpeg; name=\"$file_name\"\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    ."Content-Transfer-Encoding: base64\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    ."Content-Disposition: inline; filename=\"$file_name\"\n\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    .chunk_split(base64_encode($content[$b]))."\n";
    __ _ _ _ _ _ _ _ _ $b
    ++;
    __ _ _ _ _ _ _ _ _ fclose
    ($fp);
    __ _ _ _ _ _ _ 
    } else {
    __ _ _ _ _ _ _ _ _ 
    echo "Anhang konnte nicht gesendet werden.";
    __ _ _ _ _ _ _ 
    }
    __ _ _ _ _ 
    }
    __ _ _ _ _ $mail_attached 
    .= "--".$boundary."\n";
    __ _ _ _ _ $add_header 
    ="MIME-Version: 1.0\n" 
    ."Content-Type: multipart/mixed; boundary=\"$boundary\"; 
    Message-ID: <"
    .md5($von)."@domain.net>";
    __ _ _ _ _ $mail_content
    ="--".$boundary."\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    ."Content-Type: text/plain; charset=\"iso-8859-1\"\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    ."Content-Transfer-Encoding: 8bit\n\n"
    __ _ _ _ _ _ _ _ _ _ _ 
    .$msg."\n\n".$mail_attached;
    __ _ _ _ _ 
    return mail 
    ($an
    $subject
    $mail_content
    "From: ".$von."\nCC: ".$email_cc."\nBCC: ".$email_bcc 
    ."\nErrors-To: ".$von."\n".$add_header);
    __ _ _ 
    } else {
    __ _ _ _ _ 
    return mail 
    ($an
    $subject
    $msg
    "From: ".$von."\nCC: ".$email_cc."\nBCC: ".$email_bcc 
    ."\nErrors-To: ".$von); 
    __ _ _ }
    }

    ?>

  • #2
    Also wenn die Unterstriche in Wirklichkeit Leerzeichen sind, dann seh ich nix.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      wäre ja mal interessant, was für einen parse error es gibt ... irgendwas mit "... WHITESPACE" vielleicht?

      wenn da nämlich in wirklichkeit geschützte leerzeichen stehen (xA0), dann wandeln die PHP-tags hier sie in _ um.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X