Upload Grafik wird im IE nicht angezeigt

ChaosRacer

Grünschnabel
Hallo,

habe auf meiner Homepage ein Uploadscript. Mit dem Firefox funktioniert soweit alles nur der IE zeigt mir mein Formular nicht an. Wie kann ich das ändern, finde den Fehler nicht. Hier der Code:

PHP:
<?php

// Einstellungen für das Script
$AdminPasswort   = "passwort"; // Upload Passwort
$AdminEmail      = "email"; // Admin Email
$AdminNotify     = 1; // Admin per Email informieren wenn eine Datei heruntergeladen wurde (1 = Ja | 0 = Nein)
$PfadZumScript   = "pfad zum script"; // Komplette Webadresse zum Script
$Dateiendungen   = array( "zip", "rar", "7z", "pdf", "jpg", "jpeg", "mp3", "wav", "mid", "doc", "xls", "html", "htm", "ufo"); // erlaubte Dateiendungen
$StandardBetreff = "Eine neue Datei von "; // Standardbetreff falls kein Betreff im Formular angegeben wurde


/* ******************************************************** */
/*        ******* Ab hier nichts mehr ändern *******        */
/* ******************************************************** */

// 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  auf Ihren Server geladen. Sie können diese Datei unter dem folgenden Link herunterladen:

{$PfadZumScript}index.php?aktion=download&datei={$DownloadHash}

Sollten Sie keine HTML-eMails empfangen können, kopieren Sie bitte den oben genannten Link in Ihren Internet-Browser.

DOWNLOADLINK;
}

/* ---------------------------------------- */
/* --- Maximale Uploadgroesse ermitteln --- */
/* ---------------------------------------- */
// Die Funktionen dieses Abschnitts stammen
// von http://www.webmaster-resource.de

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&ouml;&szlig;e: " .number_format( $MaximaleDateiuploadGroesse / 1024, 0, ",", "." ). " KB)</span>";
    }
}


// --------------------------------------------------------------
//           ------   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 ))
                {
                    die( "Die angehängte Datei hat eine nicht erlaubte Dateiendung!" );
                }
                // Dateiendung ok
                $ersetzen = array( 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss', ' ' => '_' );
                $DateiNameNeu = strtr( strtolower( $_FILES['datei']['name'] ), $ersetzen );
                $DownloadHash = md5( $DateiNameNeu );
                $umask_alt = umask( 0 );
                 if (@move_uploaded_file( $_FILES['datei']['tmp_name'], $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;

        // -----------------------------
        // ---  Datei herunterladen  ---
        // -----------------------------
        case 'download':
            if (isset( $_GET['datei'] )&&
                strlen( $_GET['datei'] ) == 32)
            {
                // Falls ein Trottel die Index-Datei runterladen will
                if ($_GET['datei'] == md5( "index.php" ))
                {
                    die( "Nice try ;-)" );
                }
                // angeforderte Datei ermitteln
                foreach (glob( "*.*" ) as $Dateiname)
                {
                    if ($_GET['datei'] == md5( $Dateiname ))
                    {
                        $DateiDownload = $Dateiname;
                    }
                }
                if ($DateiDownload)
                {
                    // Datei senden und ggfs Admin benachrichtigen
                    header( "Content-Type: application/octet-stream" );
                    header( "Content-Disposition: attachment; filename=\"" .$DateiDownload. "\"" );
                    header( "Content-Length: " .filesize( $DateiDownload ) );
                    header( "Pragma: no-cache" );
                    header( "Expires: 0" );
                    readfile( $DateiDownload );

                    // Benachrichtigung an Admin senden
                    if ($AdminNotify)
                    {
                        // 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 Body
                        $AdminMailBody  = "Soeben wurde die Datei {$DateiDownload} heruntergeladen.<br>";

                        @mail( $AdminEmail, "FileSend Datei wurde heruntergeladen", $AdminMailBody, $MailHeader );
                    }
                }
                else
                {
                    $DownloadERROR = true;
                }
            }
        break;

    }
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<BODY bgcolor="#000000" style= alink="#000099" link="red" vlink="#999999">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload-Bereich von </title>
<style type="text/css">
<!--
* { margin: 0; padding: 0; }
body { text-align: center; font: normal 62.5% Verdana, Arial, Helvetica, sans-serif;}
#rahmen { width: 500px; margin: 1.5em auto; text-align: left; }
fieldset { padding: 0px 15px; border: solid 1px #FF0000; }
legend { font: bold 1.8em "Courier New", Courier, monospace; color: #FF0000; }
label { display: block; font-size: 1.2em; font-weight: bold; margin-top: 1.0em; color: #FF0000; }
input { width: 250px; }
textarea { width: 400px; height: 160px; }
input.file { width: 400px; }
input.button { width: 150px; margin: 25px 0px 20px 128px; }
h1 { font: bold 2.2em Arial, Helvetica, sans-serif; margin-bottom: 1.2em; text-align: center; }
h3 { font: bold 1.2em Verdana, Arial, Helvetica, sans-serif; }
p { font-size: 1.2em; text-align: justify; }
.hinweis { color: #FF0000; }
-->
</style>

<script type="text/javascript">
<!--
function checkForm()
{
    var Fehlermeldung = "";
    if (document.FileSend.admin_passwort.value == "")
    {
        Fehlermeldung += "Bitte das Passwort für den Upload eingeben!\n";
    }
    if (document.FileSend.datei.value == "")
    {
        Fehlermeldung += "Bitte eine Datei für den Upload auswählen!\n";
    }
    if (Fehlermeldung)
    {
        alert(Fehlermeldung);
        return false;
    }
    else
    {
        return true;
    }
}
// -->
</script>

<script type="text/javascript">

    function showWaitMessage() {

            document.getElementById("submitDiv").style.display = "none";
        document.getElementById("waitingDiv").style.display = "block";
        document.getElementById("progressBar").innerHTML = "<img alt='Bitte warten...' src='progressbar.gif' />";

    }//fu

</script>
<script language="JAVASCRIPT" type="TEXT/JAVASCRIPT">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,pos,infocus){
if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no";win=window.open(mypage,myname,settings);
win.focus();}
// -->
</script>

</head>
<body>


<div id="rahmen">
<h1><font color="#FFFFFF"><script type="text/javascript">
 H=new Date(); H.getHours(); S=H.getHours(); var a="";
 if(S>12 ) {a="Guten Morgen,"};
 if(S<=18 && S>=12) {a="Guten Tag,"};
 if(S<=05) {a="Guten Abend,"};
 document.write(a)
</script>

user</font></h1>

<div id="waitingDiv" style="display:none">
<div id="rahmen">
    <fieldset>
    <legend>Bitte warten...</legend>
    <br>
            <center><div id="progressBar"><img alt="Bitte warten..." src="progressbar.gif"></center><p><hr noshade size="1"><br><font color="#FFFFFF" size="2">Die Upload-Geschwindigkeit ist abhängig von der Internetverbindung. Dateien mit mehreren MB (50, 100 oder mehr) dauern selbst mit DSL seine Zeit! Bitte abwarten bis eine Rückmeldung unter "Upload Meldungen" erscheint.</font></p><p style="margin: 20px 0px; color: #FFFFFF;">Zur Kontrolle findet ihr hier einen kleinen "Up- &  Downloadrechner". Der Rechner wird in einem Pop-Up geöffnet. Bitte den Pop-Up Blocker für diese Funktion kurzzeitig deaktivieren.</p><center><input name="B1" value="Up- &amp; Downloadrechner" onclick=
                    "NewWindow('http://pfad zum pop-up.html','mypopup','700','500','center','front');" type=
                    "button"><br><br></center></div><br>
</fieldset>
    </form>
</div><br>

<div id="submitDiv">
<div id="rahmen">
    <fieldset>
    <legend>Upload Meldungen</legend>
    <br>
    <?php
// Upload-Meldungen
if ($_GET['status'] == 'UploadOK') echo '<h3><span class="hinweis">Hinweis:</span> <font color="#FFFFFF">Die Datei wurde erfolgreich übertragen!</font></h3><br>';
if ($_GET['status'] == 'UploadERROR') echo '<h3><span class="hinweis">F E H L E R:</span> <font color="#FFFFFF">Die Datei konnte nicht übertragen werden!<br>Bitte stellen Sie sicher daß das Uploadlimit nicht überschritten wurde!</font></h3><br>';
if ($PasswortERROR) echo '<h3><span class="hinweis">Hinweis:</span> <font color="#FFFFFF">Das angegebene Passwort ist nicht korrekt!</font></h3><br>';
if ($MailSendFehler) echo '<h3><span class="hinweis">Hinweis:</span> <font color="#FFFFFF">Beim senden der eMail trat ein Fehler auf!</font></h3><br>';
// Download-Meldung
if ($DownloadERROR) echo '<h3><span class="hinweis">Hinweis:</span> <font color="#FFFFFF">Die angeforderte Datei konnte nicht gefunden werden!</font></h3><br>';
?></fieldset>
    </form>
</div><br>



<div id="rahmen">
    <fieldset>
    <legend>Fertige Uploads</legend>
        <p style="margin: 20px 0px; color: #FFFFFF;">Alle fertigen Uploads bleiben max. 30 Tage auf dem Server erhalten. Danach werden diese in der Regel automatisch gelöscht. Bei weiteren Fragen wenden Sie sich an den Administrator!<br><br>

<?php
  // tabelle
  echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";

  echo "<tr style=\"font-weight:bold;\">\n";
  echo "  <td style=\"width:200px;color:#ffffff;font-size:10pt;\">Dateiname</td>\n";
  echo "  <td style=\"width:200px;color:#ffffff;font-size:10pt;\">Größe in KB</td>\n";
  echo "  <td style=\"width:200px;color:#ffffff;font-size:10pt;\">Upload am</td>\n";
  echo "</tr>\n";


  // fuer alle .jpg bilder zB sowas:
  // foreach(glob(".jpg") as $datei) {
  foreach(glob("{*.zip,*.rar,*.7z,*.pdf,*.jpg,*.jpeg,*.mp3,*.wav,*.doc,*.xls,*.html,*.htm}", GLOB_BRACE) as $datei) {

  // groesse
 $groesse = filesize($datei)/1024;

    // letzte aenderung
    $aenderung = date("d.m.y, H:i:s", filemtime($datei));

    if($i%2 == 0) {
      echo "<tr>\n";
    } else {
      echo "<tr style=\"background-color:#000000; color:#000000\">\n";
    }
      echo "  <td style=\"width:200px;font-size:8pt;\"><a href=\" " .$datei . "\">" . $datei . "</a></td>\n";
      echo "  <td style=\"width:200px;font-size:8pt;color:#ffffff;\">".round($groesse, 2)."</td>\n";
      echo "  <td style=\"width:200px;font-size:8pt;color:#ffffff;\">" . $aenderung . "</td>\n";
      echo "</tr>\n";

    $i++;
  }

  echo "</table>\n";
?>
<br><br>
        </p>

    </fieldset>
    </form>
</div><br>


<div id="rahmen">
    <fieldset>
    <legend>Up- & Downloadrechner</legend>
<p style="margin: 20px 0px; color: #FFFFFF;">Hier findet ihr einen kleinen "Up- &  Downloadrechner". Mit diesem Rechner könnt ihr vor dem Upload die ungefähre Ladezeit einer Datei ermitteln.</p><center><input name="B1" value="Up- &amp; Downloadrechner" onclick=
                    "NewWindow('http://chaosracingteam.bplaced.net/upload/updown.html','mypopup','700','500','center','front');" type=
                    "button"><br><br></center>
  </fieldset>
    </form>
</div><br>
<div id="rahmen">
    <form name="FileSend" id="FileSend" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?aktion=senden" enctype="multipart/form-data" onsubmit="showWaitMessage();">
    <fieldset>
    <legend>Neuer Upload</legend>
        <p style="margin: 20px 0px; color: #FFFFFF;">Die mit * (Stern) gekennzeichneten Felder sind "Pflichtfelder" und sind für einen fehlerfreien Datei-Upload zwingend erforderlich. Der Upload kann je nach Verbindungsgeschwindigkeit mehrere Minuten in Anspruch nehmen. Bitte das Fenster in dieser Zeit NICHT schließen, da sonst der Upload unterbrochen wird!<br><br></p>
        <label for="admin_passwort">Passwort*:</label><input type="password" name="admin_passwort" id="admin_passwort" />
        <label for="mail_text">Nachricht:</label><textarea name="mail_text" id="mail_text"><?php echo $_POST['mail_text']; ?></textarea>
        <label for="datei">Datei für den Upload: <?php UploadLimit(); ?></label><input type="file" name="datei" id="datei" size="50" class="file" /><br /><font color="#FFFFFF">Erlaubte Dateitypen: <br>zip, rar, 7z, pdf, jpg, jpeg, mp3, wav, doc, xls, html, htm, ufo</font><br><br><br>

<p><font color="#FFFFFF">Die Upload-Geschwindigkeit ist abhängig von der Internetverbindung. Dateien mit mehreren MB (50, 100 oder mehr) dauern selbst mit DSL seine Zeit!
Auch wenn es den Anschein macht, das sich nichts mehr tut, bitte abwarten bis eine Rückmeldung im oberen Bereich unter "Upload Meldungen" erscheint.<br></font></p>


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="send_file" id="send_file" value="Upload & eMail senden" class="button" onClick="return checkForm();" />

    </fieldset>
    </form>
</div><br><br>
</body>
</html>

Außerdem hätte ich noch zusätzlich gerne eine Funktion, wo ich in ein voreingestelltes Verzeichnis uploaden kann und einen Button, womit ich nen Upload abbrechen kann.

Wer kann mir helfen?

Gruß

ChaosRacer
 
und das hat genau was mit Java zu tun? Alter schwede, an Stele der Mods hier würde ich glaube ich stündlich n Kackreitz bekommen :) (Nix gegen dich, aber die Leute scheinen den Unterschied zwischen Java und JavaScript tatsächlich nicht zu kennen.)
 
Hallo,

ich bitte um Entschuldigung. Offensichtlich habe ich durch meine Unwissenheit ins falsche Forum gepostet. Ich bitte daher den MOD meinen Beitrag zu entfernen. Bin noch neu hier und habe daher das spezielle Unterforum für Javascript einfach übersehen. War wirklich keine Absicht. Ich werde meinen Beitrag noch mal neu ins richtige Unterforum posten. Vielen Dank für Ihr Verständnis und sorry für die Umstände, falls ich welche bereitet haben sollte.

Gruß

ChaosRacer
 
Hallo,

mir ist gerade aufgefallen, das jemand das Thema in das richtige Forum verschoben hat. Danke an den MOD oder denjenigen, der das gemacht hat. Ich hoffe es kann mit hier jemand weiterhelfen und sich meinem Problem annehmen. Problemstellung siehe Anfangspost. Vielen Dank im voraus.

Gruß

ChaosRacer
 
Zurück