Hi
Ich möchte mittels eines Anmeldeformulares Dateien anhängen, die mir dann zugeschickt werden. Das geht.
Was nicht funktioniert ist diese Datei, die der User mitschickt, in ein Verzeichnis auf dem Server zu kopieren.
Habe zwei Skripte zu einem zusammengewuschtelt.
Wer die Lösung weiß (und die ist für PHP-Könner bestimmt nicht schwer), bitte antworten!!!
Die ZWEI zu ändernden Bereiche sind Auskommentiert.
Hier das Skript:
<?php $pbetreff[0] = 'Bitte wähle...';$pbetreff[1] = 'am Freitag'; $pbetreff[2] = 'am Samstag'; $empfaenger = 'bitteTESTMAILhier@?????.de'; // Dorthin werden Nachrichten geschickt $absender = 'Gästeliste'; // Absenderanzeige des Kontaktformulars $newpoint = ':smile: \n"; } if(empty($\_POST['email']) && empty($\_POST['telefon'])) { $Nachricht .= $newpoint."Bitte gebe Deine **Emailadresse oder Telefonnummer** an. "; } elseif(!empty($\_POST['email']) && !empty($\_POST['email']) && !eregi("^[\_a-z0-9-]+(\.[\_a-z0-9-]+)\*@([a-z0-9-]+\.){1,3}([a-z0-9-]{2,3})$",$\_POST['email'])) { $Nachricht .= $newpoint."Die **eMail-Adresse** entspricht nicht der korrekten Syntax. \n"; } elseif(!empty($\_POST['telefon']) && eregi("[^- /0-9]",$\_POST['telefon'])) { $Nachricht .= $newpoint."Die **Telefonnummer** darf nur aus Zahlen bestehen. \n"; } elseif(!empty($\_POST['telefon']) && strlen($\_POST['telefon'])Telefonnummer ist nicht gültig. \n"; } if(empty($\_POST['betreff'])) { $Nachricht .= $newpoint."Bitte wähle eine **Geasteliste** aus. \n"; } if(empty($\_POST['text'])) { $Nachricht .= $newpoint."Du hast noch keine **Begruendung** eingegeben. \n"; } if(!$Nachricht) { // Mailinhalt definieren: $Text = "Diese Person möchte auf die Gästeliste gesetzt werden:\n"; $Text .= "Name: ".$\_POST['name']."\n"; $Text .= ($\_POST['email']) ? "Email: ".$\_POST['email']."\n" : "Email: Keine Angabe\n"; $Text .= ($\_POST['telefon']) ? "Telefon: ".$\_POST['telefon']."\n" : "Telefon: Keine Angabe\n"; $Text .= "Gaesteliste: ".$pbetreff[(int)$\_POST['betreff']]."\n\n"; $Text .= str\_repeat('-',70)."\n".strip\_tags($\_POST['text'])."\n"; // Header definieren $dateiname = $\_FILES['anhang']['tmp\_name']; $dateiname\_mail = $\_FILES['anhang']['name']; $absender = ($\_POST['email']) ? $\_POST['email'] : $absender; $header = "From: $absender\nReply-To: ".$\_POST['email']; // Anhang vorhanden? if($dateiname) { $trenner = md5(uniqid(time())); $header .= "\n"; $header .= "MIME-Version: 1.0"; $header .= "\n"; $header .= "Content-Type: 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: text/plain"; $header .= "\n"; $header .= "Content-Transfer-Encoding: 8bit"; $header .= "\n\n"; $header .= $Text; $header .= "\n"; $header .= "--$trenner"; $header .= "\n"; $header .= "Content-Type: ".$\_FILES['anhang']['type']."; name=$dateiname\_mail"; $header .= "\n"; $header .= "Content-Transfer-Encoding: base64"; $header .= "\n"; $header .= "Content-Disposition: attachment; filename=$dateiname\_mail"; $header .= "\n\n"; $dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname)); $header .= chunk\_split(base64\_encode($dateiinhalt)); $header .= "\n"; $header .= "--$trenner--"; // hier ist die Betreffende Änderung 2 copy ($picture3,"$ordner/$picture1"); // hier ist die Betreffende Änderung 2 Ende // Keinen Anhang, nur Mail } else { $header .= "\nContent-Type: text/plain"; $header .= "\nContent-Transfer-Encoding: 8bit"; $header .= "\n\n".$Text; } //-\> Alles ok, Mail verschicken. mail($empfaenger,$pbetreff[(int)$\_POST['betreff']],'', $header); $gesendet = true; } } //---------------------------------------------------------------------------------------------------- // Hier erfolgt die html-Ausgabe. Diese kann beliebig angepasst werden. // Allerdings bitte darauf achten, dass die PHP-Befehle unverändert bleiben. ?\> Gaesteliste body { background-image:url(images/bg-gaesteliste.jpg); background-position:center top; background-repeat:no-repeat; background-attachment:fixed; } <?php if(!$gesendet): ?>
Hier kannst Du Dich für die Gästeliste am Wochenende anmelden.
Freitag, 01.09. oder Samstag, 02.09. >>
<?php if(!$gesendet): ?>
Dein Name
Deine Email
oder Deine Telefonnummer
Geasteliste
print '';
while(list($a,$b) = each($pbetreff))
if($a == $_REQUEST['betreff'])
print ''.$b.'';
else
print ''.$b.'';
print '';
} else {
print $pbetreff[(int)$_GET['betreff']];
}
?>Warum sollen wir gerade Dich auf die Gästeliste setzen?
<?php print htmlentities(strip_tags($_POST['text']));?><?php /* WENN KEIN DATEIUPLOAD GEWÜNSCHT IST, DIE FOLGENDEN ZEILEN LÖSCHEN */ ?>Voraussetzung ist allerdings ein Bild
<?PHP /* DATEIUPLOAD ENDE */ ?>
<?php else: ?>
Deine Mail wurde abgeschickt.
<?php endif;?>
-------------------------------
Vielen Dank
Tobias
