Aaah… man man man, jetzt habe ich schon soviele Änderungen vorgenommen und nun klappt der Mail-Versand nicht mehr. Woran liegt das nun? Ich habe in der Richtung bisher nichts verändert. Kann da mal jemand drüber schauen?
function.php
[code]<?php
// Einstellungen für das Script
$AdminPasswort = “passwort”; // Upload Passwort
$AdminEmail = “adminemail”; // Admin Email
$PfadZumScript = “http://pfadzumscript/upload/user2/”; // Komplette Webadresse zum Script
$Dateiendungen = array( “zip”, “rar”, “7z”, “pdf”, “jpg”, “jpeg”, “gif”, “mp3”, “wav”, “mid”, “doc”, “xls”, “html”, “htm”, “ufo”); // erlaubte Dateiendungen
$StandardBetreff = “Eine neue Datei von User 2”; // Standardbetreff falls kein Betreff im Formular angegeben wurde
$Upload = “./files/”;
// Email auf Format pruefen
function checkEmail( $email )
{
$nonascii = “\x80-\xff”;
$nqtext = “[^\\$nonascii\015\012”]";
$qchar = “\\[^$nonascii]”;
$normuser = ‘[a-zA-Z0-9][a-zA-Z0-9_.-]’;
$quotedstring = “”(?:$nqtext|$qchar)+"";
$user_part = “(?:$normuser|$quotedstring)”;
$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]\.’;
$dom_subpart = ‘(?:[a-zA-Z0-9][a-zA-Z0-9._-]\.)’;
$dom_tldpart = ‘[a-zA-Z]{2,5}’;
$domain_part = “$dom_subpart$dom_mainpart$dom_tldpart”;
$pattern = “$user_part@$domain_part”;
if (!preg_match( "/^$pattern$/", $email ))
{
return FALSE;
}
else
{
return TRUE;
}
}
// DownloadLink fuer den Mailbody
function getDownloadLink( $DownloadHash )
{
global $PfadZumScript;
return <<<DOWNLOADLINK
Der nachfolgende Abschnitt wurde automatisch generiert.
{$_FILES[‘datei’][‘name’]} wurde von User 2 auf Ihren Server geladen.
DOWNLOADLINK;
}
// Maximale Uploadgroesse ermitteln
function PHPINIWertUmwandeln( $Groesse )
{
$Werte[‘MB’] = 1048576;
$Werte[‘Mb’] = 1048576;
$Werte[‘M’] = 1048576;
$Werte[‘m’] = 1048576;
$Werte[‘KB’] = 1024;
$Werte[‘Kb’] = 1024;
$Werte[‘K’] = 1024;
$Werte[‘k’] = 1024;
while (list( $Schluessel ) = each( $Werte ))
{
if ((strlen( $Groesse ) > strlen( $Schluessel )) && (substr( $Groesse, strlen( $Groesse ) - strlen( $Schluessel )) == $Schluessel ))
{
$Groesse = substr( $Groesse, 0, strlen( $Groesse ) - strlen( $Schluessel ) ) * $Werte[$Schluessel];
break;
}
}
return $Groesse;
}
function UploadmoeglichkeitPruefen()
{
$Uploadmoeglichkeit = TRUE;
if (strtolower( @ini_get( ‘file_uploads’ ) ) == ‘off’ || @ini_get( ‘file_uploads’ ) ==0)
{
$Uploadmoeglichkeit = FALSE;
}
return $Uploadmoeglichkeit;
}
function MaximaleDateiuploadGroesseErmitteln()
{
$MaximaleDateiuploadGroesse = 0;
if ($Dateigroesse = ini_get( ‘upload_max_filesize’ ))
{
$MaximaleDateiuploadGroesse = PHPINIWertUmwandeln( $Dateigroesse );
}
if ($Postgroesse = ini_get( ‘post_max_size’ ))
{
$Postgroesse = PHPINIWertUmwandeln( $Postgroesse );
if ($Postgroesse < $MaximaleDateiuploadGroesse)
{
$MaximaleDateiuploadGroesse = $Postgroesse;
}
}
return $MaximaleDateiuploadGroesse;
}
function UploadLimit()
{
if (UploadmoeglichkeitPruefen())
{
$MaximaleDateiuploadGroesse = MaximaleDateiuploadGroesseErmitteln();
echo “<span style=“color: #FFFFFF; font-size: 0.8em; font-weight: normal;”>(max. Dateigröße: " .number_format( $MaximaleDateiuploadGroesse / 1024, 0, “,”, “.” ). " KB)”;
}
}
// HAUPTSCRIPT BEGINNT HIER
if (isset( $_GET[‘aktion’] ) )
{
switch ($_GET[‘aktion’])
{
// Neue Datei hochladen
case ‘senden’:
if (isset( $_POST[‘send_file’] ) &&
$_POST[‘admin_passwort’] == $AdminPasswort &&
$_FILES[‘datei’][‘size’] > 0 !== false)
{
// Maskierung entfernen
if (get_magic_quotes_gpc())
{
$_POST = array_map( ‘stripslashes’, $_POST );
}
// Pruefen ob die Dateiendung erlaubt ist
$UploadDateiEndung = array_pop( explode( “.”, strtolower( $_FILES[‘datei’][‘name’] ) ) );
if(!in_array( $UploadDateiEndung, $Dateiendungen ))
{
$DateiERROR = true; die( include(“error.php”) );
}
// Dateiendung ok
$ersetzen = array( 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss', ' ' => '_' );
$DateiNameNeu = strtr( strtolower( $_FILES['datei']['name'] ), $ersetzen );
$DownloadHash = md5( $DateiNameNeu );
$umask_alt = umask( 0 );
if(file_exists($DateiNameNeu)) {
$FileERROR = true;
}
else // Upload
if (@move_uploaded_file( $_FILES['datei']['tmp_name'], $Upload.$DateiNameNeu ))
{
// Mail Header
$MailHeader = "From:{$AdminEmail}<{$AdminEmail}>\n";
$MailHeader .= "MIME-Version: 1.0\r\n";
$MailHeader .= "Content-Type: text/html\n";
$MailHeader .= "Content-Transfer-Encoding: 8bit\n";
$MailHeader .= "Message-ID: <" .time(). " noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$MailHeader .= "X-Mailer: PHP v" .phpversion(). "\r\n";
// Mail Betreff
$MailBetreff = strlen( $_POST['mail_betreff'] ) > 3 ? htmlspecialchars( $_POST['mail_betreff'] ) : $StandardBetreff;
// Mail Body
$MailBody = nl2br( htmlspecialchars( $_POST['mail_text'] ) );
$MailBody .= getDownloadLink( $DownloadHash );
if (!@mail ( $AdminEmail, $MailBetreff, $MailBody, $MailHeader ))
{
$MailSendFehler = true;
}
// CHMOD setzen
@chmod( $DateiNameNeu, 0755 );
umask( $umask_alt );
header( 'location: ' .$_SERVER['PHP_SELF']. '?status=UploadOK' );
}
else // Upload-Fehler
{
umask( $umask_alt );
header( 'location: ' .$_SERVER['PHP_SELF']. '?status=UploadERROR' );
}
}
elseif ($_POST['admin_passwort'] != $AdminPasswort)
{
$PasswortERROR = true;
}
break;
}
}
?>[/code]
Gibt es eigentlich auch einen PHP-WYSIWYG Editor? Würde glaube ich vieles einfacher machen bzw. würde sicherlich auch zum Verständnis beitragen.