PHP Verweis auf Datei in Email angeben

Xedo

Lt. Commander
Registriert
Jan. 2008
Beiträge
1.235
Hallo

Ich habe mir ein kleines php Skript gebastelt, das eine Datei aus einem Formular entgegennimmt und auf meinem Webspace speichert.

PHP:
<?php

$Empfaenger = "meine mailadresse";

if($_POST['Send'])
{
   if(empty($_POST['Name']) || empty($_POST['Vorname']) || empty($_POST['Email']) || empty($_POST['Tel']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_POST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Test";
      $Mailbetreff .= $_POST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_POST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
$dateiname=$HTTP_POST_FILES['datei']['name'];
copy($datei, "dateien//$dateiname");
?>

Zudem Werden mir die weiteren Informationen aus Textfeldern etc. per Email übersand. Nun möchte ich noch gerne mit der Email einen Link bekommen, der direkt auf die Datei auf meinem Webspace verweist, damit ich praktisch mit einem Klick auf diese zugreifen und sie herunterladen kann. Sprich ich muss erst einmal den Dateinamen in die Mail bekommen. Habe das so versucht:

PHP:
$Mailnachricht .= $HTTP_POST_FILES['datei']['name'];

Allerdings funktioniert es nicht!
 
funktioniert der upload bzw. das speichern überhaupt? ich bezweifel, dass dabei was rumkommt!
copy kann doch nur bereits vorhandene dateien kopieren?!

Naja, ich würde das ganze jedenfalls so regeln:

zunächst statt copy(), move_uploaded_file() nehmen: http://de3.php.net/move_uploaded_file

Also statt:
PHP:
copy($datei, "dateien//$dateiname");
folgendes einbauen:
PHP:
move_uploaded_file($_FILES['datei']['tmp_name'], 'dateien/'.$_FILES['datei']['name']);
und in die E-Mail mit:
PHP:
$Mailnachricht .= 'dateien/'.$_FILES['datei']['name'];
 

Ähnliche Themen

Zurück
Oben