1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Hochladen Funktion Hilfe

Discussion in 'Web-Know-how für die Homepage' started by Kevin11, Mar 17, 2010.

Thread Status:
Not open for further replies.
  1. Kevin11

    Kevin11 Byte

    Guten Abend!

    Ich habe hier ein php Code, mit dem man Datein auf seinem Server laden kann. Das ist für meine Homepage.

    PHP:
    <?
    if(!isset(
    $_POST[upload])) {
      echo 
    "
                  <form action=\"
    $PHP_SELF\" method=\"post\" ENCTYPE=\"multipart/form-data\">
                  <input type=\"hidden\" name=\"lllllll\" value=\"
    $lllllll\">
                  <input type=\"hidden\" name=\"upload\" value=\"2\"><br>
                  Dein Name: <input type=\"text\" name=\"user\" size=\"50\"><br>
                  Datei: <input type=\"file\" name=\"datei\" size=\"50\"><br>
                  Titel: <input type=\"text\" name=\"uber\" size=\"50\"><br>

                  Beschreibung: <input type=\"text\" name=\"bes\" size=\"50\"><br>
                  <br>
                  <input type=\"Submit\" value=\"Hochladen\"></form><br><br>"
    ;
                  }
    if(
    $_POST[upload] == 2) {

    $uploaddatei $_FILES[datei][name];
    require 
    "uploads/count.php";


    $exp explode('.',$uploaddatei);
    $ext $exp[count($exp)-1];

    if(
    $ext != "php") {
    copy($_FILES[datei][tmp_name], "uploads/$datcount.".$ext);}
    else {
    copy($_FILES[datei][tmp_name], "uploads/$datcount.php3");
    $ext "php3";
    }


    $infdat fopen("uploads/$datcount.php","w+");
    fputs($infdat,"<?\n\$name = \"$_POST[user]\";\n\$uber = \"$_POST[uber]\";\n\$bes = \"$_POST[bes]\";\n\$erwe = \"$ext\";\n?>
    </span>"
    );
    fclose($infdat);

    $datcount++;
    $coutda fopen("uploads/count.php","w+");
    fputs($coutda,"<?\n\$datcount = \"$datcount\";\n?>");
    fclose($coutda);

    echo 
    "<b>Danke f&uuml;r deinen Upload! Nach einer kurtzen Prüfung, wird dein Bild/Vidio freigeschaltet.</b><br><br>";
    ?>
    <a href="http://beispiel.de">Zu...</a>
    <?
    }
    ?>
    Das funktioniert ja auch alles gut. Mein Problem ist bloß, dass jeder da hochläd was er will (.exe Dateien u. Co.) Deshalb die Frage: Was muss ich machen, damit meine User nur z.B .jpg .png. .flv .swf Dateien hochladen können? Dass es ein Code gibt weiß ich, aber wo muss er hin? Oder kennt ihr was besseres :confused:

    Ich wäre euch sehr verbunden, wenn ihr mir helfen würdet!
    mfg.
    Kevin
     
  2. VB-Coder

    VB-Coder Megabyte

    Ersetz mal den Teil...
    PHP:
    if($ext != "php") {
    copy($_FILES[datei][tmp_name], "uploads/$datcount.".$ext);}
    else {
    copy($_FILES[datei][tmp_name], "uploads/$datcount.php3");
    $ext "php3";

    durch diesen...
    PHP:
    if($ext == "jpg" || $ext == "png" || $ext == "gif" || $ext == "flv" || $ext == "swf") {
       
    copy($_FILES[datei][tmp_name], "uploads/$datcount.".$ext);
    }
    else {
       echo 
    "Es sind nur Dateien mit der Endung <b>flv gif jpg png</b> oder <b>swf</b> erlaubt !";
       return;

    Ist jetzt ungetestet, sollte aber funktionieren. Sofern ich Heute Morgen keinen gravierenden Denkfehler habe ;)
    Damit sollte es dann nurnoch m&#246;glich sein gif, jpg,png und als Videoformat flv und swf hochzuladen.

    MfG VB-Coder
     
    Last edited: Mar 23, 2010
  3. Scasi

    Scasi Ganzes Gigabyte

    selbst wenn das funktioniert, kommt jeder nicht völlig einfach gestrickte Mitteleuropäer irgendwann auf die Idee, die Endung seiner .exe, .com oder was auch immer für den Upload zu ändern!

    :idee: einen Server so zu betreiben, ist imho nur der Beweis, dass es doch Wurmlöcher gibt! :D
     
  4. Kevin11

    Kevin11 Byte

    OK Danke! Wird´s gleich mal testen.
     
  5. kalweit

    kalweit Hüter der Glaskugel

    ...ach nie nich :D - aber zugegeben, die Lösung ist schon etwas anspruchsvoller. Allerdings kann man im konkreten Fall getimagesize(); oder passende Funktionen aus der GD-Bibliothek zur Validierung missbrauchen.
     
  6. Mylin

    Mylin Viertel Gigabyte

    ... und wir sind mitten drin, Bilder bis 30 MB und ohne Größenbeschränkung. :D
     
Thread Status:
Not open for further replies.

Share This Page