kostenloser Webspace werbefrei: lima-city


Dateierweiterung überprüfen mit JavaScript?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    n*k

    Hallo
    Ich habe eine Frage:

    Ich habe ein Upload Script und will die datei erweiterung beim absenden des formular mit java ?berpr?fen also die buchstaben nach dem letzten Punkt im datei feld hat jemand eine idee wie ich das machen kann?

    Danke schonmal im Vorraus
    NGK
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    n*k

    Hallo nochmal
    Also da mir hier ja angeblich keiner helfen konnte habe ich mir mal versucht selber was zusammen zu basteln... ich h?tte nur eine bitte: Bei mir hats (nat?rlich) nicht funktioniert! Kann irgendwer mal dr?bergucken und mir verbesserungs vorschl?ge geben?
    Also ich hab nicht besonders viel ahnung von JS



    function isset(varname) {
    if(typeof( window[ varname ] ) != "undefined") return true;
    else return false;
    }

    function extension(string) {


    var laenge = "";
    var pos1 = "";
    var pos2 = "";
    var subanf1 = "";
    var subanf2 = "";
    var test = "";

    laenge = string.length;
    pos1 = laenge - 3;
    subanf1 = laenge - 2;
    pos2 = laenge - 4;
    subanf2 = laenge - 3;
    if(charAt(pos1)== ".") {
    test = substr(subanf1, 3);
    }
    else if(charAt(pos2)== ".") {
    test = substr(subanf2, 4);
    }
    else {
    test = "";

    }

    var extensions = new Array();

    Mitarbeiter[jpg] = "";
    Mitarbeiter[bmp] = "";
    Mitarbeiter[jpeg] = "";
    Mitarbeiter[gif] = "";
    Mitarbeiter[png] = "";
    Mitarbeiter[JPG] = "";
    Mitarbeiter[BMP] = "";
    Mitarbeiter[JPEG] = "";
    Mitarbeiter[GIF] = "";
    Mitarbeiter[PNG] = "";

    if(isset(extensions[test])) {
    return true;
    else {
    return false;
    }

    }



    :confused: :confused: :confused:
    Danke nochmal
    NGK

    Beitrag ge?ndert am 14.06.2006 17:49 von ngk
  4. Hi,

    Wichtig: Java ist nicht JavaScript.
    Egal, kommen wir zur Frage:

    Das geht eigentlich ganz einfach mit folgendem Trick:

    <script language="JavaScript" type="text/javascript">
    <!--
    function check_file(file_name) {
      // Die erlaubten Dateiendungen
      var allowed_extensions = new Array('jpg','gif','png');
    
      // Dateiendung der Datei
      var extension = file_name.split('.');
      extension = extension[extension.length - 1];
    
      for (var k in allowed_extensions) {
        if (allowed_extensions[k] == extension) return true;
      }
      return false;
    }
    //-->
    </script>
    
    <form name="upform" action="upload.php" method="post" enctype="multipart/form-data" [b]onsubmit="check_file(document.upform.file1.value)"[/b]>
    <input type="file" name="file1"><br />
    <input type="submit" value="upload">
    </form>


    Wenn das Formular verschickt wird, wird vor dem Verschicken noch ?ber den Parameter onsubmit mit der Funktion check_file() die Dateiendung ?berpr?ft.
    Falls sie erlaubt ist (im array allowed_extensions) wird das Formular verschickt, andererseits abgebrochen.

    Alles klar?

    mfg,
    hr

    Beitrag ge?ndert am 14.06.2006 17:51 von heavyraptor
  5. Autor dieses Themas

    n*k

    Aso ok... abba du benutzt ja die funktion split.. was ist jetz wenn der datei name auch einen "." enth?lt? macht der das immer beim letzten?

    EDIT: OK die sache hat sich split erzeugt ein array und mit
    extension = extension[extension.length - 1];
    greifst du auf alles hinter denm letzten punkt zu...


    DANKE nochmal

    NGK

    Beitrag ge?ndert am 14.06.2006 17:58 von ngk
  6. Hi,

    ok, kein Problem.
    Eigentlich k?nntest du nat?rlich auch die Dateiendung in der php-Datei ?berpr?fen, aber das mit Javascript ist gar nicht so eine schlechte Idee, da dann schon gar nicht die Datei hochgeladen wird.

    mfg,
    hr
  7. Autor dieses Themas

    n*k

    Hi

    Also ich habs mal in mein script eingebaut und es geht nicht...

    http://ngkclan.ng.funpic.de/member_menu.php?id=neu&action=add

    egal was f?r ein bild man einf?gt.. es geht nicht
    Gru? NGK
  8. Hi,

    ich hab das Problem entdeckt:
    Die for-Schleife zur ?berpr?fung der Dateiendung sollte so aussehen:

    var match = false;
    for (var k in allowed_extensions) {
      if (allowed_extensions[k] == extension) {
        match = true;
        break;
      }
    }
    
    if (match == false) {
      formErrors = "Das Bild ist nicht in einem erlaubten Format.";
    }


    Das Problem war, dass immer eine Fehlermeldung erzeugt wurde, wenn die Endung nicht okay war. Man muss jedoch zuerst alle ?berprufen und dann schauen, ob eine der richtigen Endungen passt.

    mfg,
    hr

    Beitrag ge?ndert am 14.06.2006 18:55 von heavyraptor
  9. Autor dieses Themas

    n*k

    Vielen, vielen Dank!

    Es geht!

    Gru?
    NKG
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!