Suche Script: Dateiexplorer mit Email-Versand

supercat1510

Erfahrenes Mitglied
Ein Kunde möchte gerne ein Programm haben das folgende Eigenschaften hat:

- Ein Besucher loggt sich mit einem vorher festgelegten Passwort auf einer bestimmten Seite ein.
- Dort kann er eine Datei hochladen
- Diese Datei wird dem Kunden dann per Email zugeschickt.

Ich würds aber gern in die Richtung haben, das die Datei auf dem Server zwischengespeichert wird, unser Kunde eine Email bekommt, und die Datei nach dem Download vom Server gelöscht wird.

Kennt einer ein Script in der Art - kann auch ohne Passwort Zugriff sein.
 
Hier mal ein Script, was die Datei als Anhang verpackt:
PHP:
if(!isset($_POST['user']) || !isset($_POST['pass']))
{
echo '<html><head><title>Datei hochladen</title><body>
<form method="post" action="">
User: <input type="text" name="user" /><br />
Passwort: <input type="password" name="pass" /><br />
Email: <input type="text" name="email"><br />
Datei: <input type="file" name="datei">
</form>
</body>
</html>';
}
else
{
if($_REQUEST['user']!='benutzername' || $_REQUEST['pass']!='passwort') die("Nicht erfolgreich eingeloggt");
    $file = $_FILES['datei']['tmp_name'];
    $file_size = filesize($file);
    $handle = fopen($file, "r");
    $content = fread($handle, $file_size);
    fclose($handle);

mail_attachment($_FILES['datei']['name'], $content, $_REQUEST['email'], "test@test.ch", "Von diesem Namen kommt die Nachricht", "Ihre Datei", "Hier kommt ihre angeforderte Datei:)")
}
function mail_attachment($filename, $content, $mailto, $from_mail, $from_name, $subject, $message) {
    $content = chunk_split(base64_encode($content));
    $uid = md5(uniqid(time()));
    $name = basename($file);
    $header = "From: ".$from_name." <".$from_mail.">\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    $header .= "This is a multi-part message in MIME format.\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $header .= $message."\r\n\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; // use different content types here
    $header .= "Content-Transfer-Encoding: base64\r\n";
    $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
    $header .= $content."\r\n\r\n";
    $header .= "--".$uid."--";
    if (mail($mailto, $subject, "", $header)) {
        echo "mail send ... OK"; // or use booleans here
    } else {
        echo "mail send ... ERROR!";
    }
Ungetestet, selbstgeschriben, aber sollte gehen
 
Zuletzt bearbeitet:
Zurück