Ergebnis 1 bis 5 von 5

Thema: [PHP] Dateiendung eines Attachments wird nicht angezeigt

  1. #1
    HTML Newbie
    Registriert seit
    25.11.2007
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard [PHP] Dateiendung eines Attachments wird nicht angezeigt

    Hallo!
    Vorab sei gesagt, dass ich in PHP (noch) Anfänger bin. Mein Problem ist folgendes:
    Ich benutze im Wesentlichen dieses Skript, um in einem Formular einen Anhang per E-Mail an eine vordefinierte Adresse zu schicken.

    Das klappt auch soweit ganz gut. Nur leider kommen die Dateien ohne Endung an und bei mehreren Wörtern in einem Dateinamen steht nur der erste im Attachment. Also z.B. heißt die Datei "Photoshop Tutorial.zip" und ankommen tut dann "Photoshop".

    Vielleicht kann mir jemand auf der Grundlage des genannten Skripts sagen, was ich einbauen muss, damit der Anhang korrekt angezeigt wird. Hat vielleicht etwas mit dem Mime-Format zu tun.

    Hier ist das Skript:

    Code:
    <html>
    <head>
    <title>Kontaktformular inkl. Dateianhang mit PHP</title>
    </head>
    <body>
    <?php
    
    $Empfaenger = "meine@mailadresse.de";
    
    if&#40;$_REQUEST&#91;'Send'&#93;&#41;
    &#123;
        if&#40;empty&#40;$_REQUEST&#91;'Name'&#93;&#41; || empty&#40;$_REQUEST&#91;'Email'&#93;&#41; || empty&#40;$_REQUEST&#91;'Nachricht'&#93;&#41;&#41;
        &#123;
            echo"Bitte gehen Sie <a href=\"javascript&#58;history.back&#40;&#41;;\">zurück</a> und füllen Sie alle Felder aus!";
        &#125;
        else
        &#123;
            $Mailbetreff = "Kontakt&#58; ";
            $Mailbetreff .= $_REQUEST&#91;'Betreff'&#93;;
    
            $Trenner = md5&#40;uniqid&#40;time&#40;&#41;&#41;&#41;;
    
            $Header = "From&#58; ".$_REQUEST&#91;'Email'&#93;;
            $Header .= "\n";
            $Header .= "MIME-Version&#58; 1.0";
            $Header .= "\n";
            $Header .= "Content-Type&#58; multipart/mixed; boundary=$Trenner";
            $Header .= "\n\n";
            $Header .= "This is a multi-part message in MIME format";
            $Header .= "\n";
            $Header .= "--$Trenner";
            $Header .= "\n";
            $Header .= "Content-Type&#58; text/plain";
            $Header .= "\n";
            $Header .= "Content-Transfer-Encoding&#58; 8bit";
            $Header .= "\n\n";
            $Header .= "Sie haben folgende Nachricht erhalten&#58; \n\n";
    
            while&#40;list&#40;$Formularfeld, $Wert&#41; = each&#40;$_REQUEST&#41;&#41;
            &#123;
                if&#40;$Formularfeld != "Send" && $Formularfeld != "Anhang"&#41;
                &#123;
                    $Header .= $Formularfeld."&#58; ".$Wert."\n";
                &#125;
            &#125;
    
            $Header .= "\nDatum/Zeit&#58; ";
            $Header .= date&#40;"d.m.Y H&#58;i&#58;s"&#41;;
            $Header .= "\n";
            $Header .= "--$Trenner";
            $Header .= "\n";
            $Header .= "Content-Type&#58; ";
            $Header .= $_FILES&#91;'Anhang'&#93;&#91;'type'&#93;;
            $Header .= "; name=";
            $Header .= $_FILES&#91;'Anhang'&#93;&#91;'name'&#93;;
            $Header .= "\n";
            $Header .= "Content-Transfer-Encoding&#58; base64";
            $Header .= "\n";
            $Header .= "Content-Disposition&#58; attachment; filename=";
            $Header .= $_FILES&#91;'Anhang'&#93;&#91;'name'&#93;;
            $Header .= "\n\n";
            $Dateiinhalt = fread&#40;fopen&#40;$_FILES&#91;'Anhang'&#93;&#91;'tmp_name'&#93;, "r"&#41;, $_FILES&#91;'Anhang'&#93;&#91;'size'&#93;&#41;;
            $Header .= chunk_split&#40;base64_encode&#40;$Dateiinhalt&#41;&#41;;
            $Header .= "\n";
            $Header .= "--$Trenner--";
    
            mail&#40;$Empfaenger, $Mailbetreff, "", $Header&#41;;
            echo"Vielen Dank für Ihre eMail!";
       &#125;
    &#125;
    else
    &#123;
    ?>
    <table border="0" cellpadding="1" cellspacing="2">
    <form action="<?php echo$_SERVER&#91;'PHP_SELF'&#93;; ?>" enctype="multipart/form-data" method="post">
     <tr>
      <td>Name&#58;</td>
      <td><input name="Name" size="20" type="text"></td>
     </tr>
     <tr>
      <td>eMail&#58;</td>
      <td><input name="Email" size="20" type="text"></td>
     </tr>
     <tr>
      <td>Betreff&#58;</td>
      <td><select name="Betreff" size="1"><option>Hilfe</option><option>Kritik</option><option>Werbung</option></select></td>
     </tr>
     <tr>
      <td>Nachricht&#58;</td>
      <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
     </tr>
     <tr>
      <td>Anhang&#58;</td>
      <td><input name="Anhang" size="20" type="file"></td>
     </tr>
     <tr>
      <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken">    <input name="Reset" type="reset" value="Löschen"></td>
     </tr>
    </form>
    </table>
    <?php
    &#125;
    
    ?>
    </body>
    </html>
    Quelle
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    $Header .= "; name=";
    $Header .= $_FILES['Anhang']['name'];

    in

    $Header .= '; name="';
    $Header .= $_FILES['Anhang']['name'].'"';

    ändern

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    25.11.2007
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Habe es so geändert wie du vorgeschlagen hast. Leider werden die Anhänge bei Leerzeichen immer noch abgeschnitten.

    Hast du deine Lösung mal mit dem Skript ausprobiert?

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nein nicht ausprobiert, aber das ist die Lösung... ah hast 2x den namen drinn.. bei filename="; auch noch mal die " setzen...

  5. #5
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nein nicht ausprobiert, aber das ist die Lösung... ah hast 2x den namen drinn.. bei filename="; auch noch mal die " setzen...

Ähnliche Themen

  1. Ava wird nicht angezeigt
    Von Allegra im Forum Forum-Hilfe.de intern
    Antworten: 2
    Letzter Beitrag: 16.08.2008, 14:36
  2. swf wird nicht angezeigt
    Von Klebo im Forum Flash Forum
    Antworten: 34
    Letzter Beitrag: 08.07.2008, 19:01
  3. Festplatte wird nicht angezeigt
    Von Eki im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 19.04.2008, 12:33
  4. JPG wird nicht angezeigt
    Von Carolyn im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 16
    Letzter Beitrag: 14.04.2006, 21:54
  5. uhr wird nicht angezeigt
    Von phore im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 04.08.2005, 11:53

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •