chefkochbln: Bei Formular nur bestimmte Dateitypen anzeigen lassen

Moin!
Ich hab da mal folgende Frage: in HTML eingebunden habe ich einen Durchsuchen-Button. Wenn ich auf diesen klicke, kann ich logischerweise nach bestimmten Dateien suchen. Leider wird da aber immer gezeigt, dass man "Alle Dateitypen (*.*)" durchsuchen lassen möchte.
Ich will das aber so handeln, dass er beispielsweise nur *.txt-Dateien oder so durchsucht, wie kann ich das realisieren? Komm ich da mit JavaScript weiter oder muss ich da mit PHP ran?!

Hier mal kurz die Funktion, die ich dem Button hinterlegt habe, danke schonmal :)

Hier mal kurz der Code, dem der Button hinterlegt ist:
script language="javascript">
function go1()
      {
        document.a.b.click();
        document.a.anzeige.value = document.a.b.value;
      }
    </script>
    <form id="a" name="a">
      <input type="file" style="display:none" id="b" name="b">
      <input id="anzeige" name="anzeige" readonly>
      <input type="button" onclick="go1();" value="Durchsuchen">

  1. Hi,

    http://de.selfhtml.org/html/formulare/datei_upload.htm steht bereit. Aber Vorsicht 'accept' funktioniert clientseitig und somit unsicher.

    Gruss,
    Ludger

    1. Hi,

      http://de.selfhtml.org/html/formulare/datei_upload.htm steht bereit. Aber Vorsicht 'accept' funktioniert clientseitig und somit unsicher.

      Das Problem ist, dass das ja mit dem IE nicht funktioniert. Gibt es nicht eine Möglichkeit, dass man da doch nur "BESTIMMTE" Dateien hochladen kann und dies im IE funktioniert? Kann JavaScript oder auch PHP sein...

      1. Hi,

        http://de.selfhtml.org/html/formulare/datei_upload.htm steht bereit. Aber Vorsicht 'accept' funktioniert clientseitig und somit unsicher.
        Das Problem ist, dass das ja mit dem IE nicht funktioniert. Gibt es nicht eine Möglichkeit, dass man da doch nur "BESTIMMTE" Dateien hochladen kann und dies im IE funktioniert? Kann JavaScript oder auch PHP sein...

        serverseitig mit PHP kannst Du alles machen, aber der Browserclient wird zum Upload anbieten, was Du ihm per accept erlaubst. Sofern er accept acceptiert.   ;-)

        Gruss,
        Ludger

        1. serverseitig mit PHP kannst Du alles machen, aber der Browserclient wird zum Upload anbieten, was Du ihm per accept erlaubst. Sofern er accept acceptiert.   ;-)

          Das ist mir klar, aber eigentlich keine Antwort auf meine Frage. Hat jemand eventuell Ahnung, wie man das realisieren kann. Theorie hilft mir da nicht so sehr weiter :-P
          Danke schonmal

          1. Hi,

            Das ist mir klar, aber eigentlich keine Antwort auf meine Frage. Hat jemand eventuell Ahnung, wie man das realisieren kann. Theorie hilft mir da nicht so sehr weiter :-P

            ich bin doch
             _DER_MANN_MIT_AHNUNG_
            .

            Also, die Antowort lautet im Klartext "Geht nicht, fitt, fitt".

            Gruss,
            Ludger

  2. Tag chefkoch

    Ich hab da mal folgende Frage: in HTML eingebunden habe ich einen Durchsuchen-Button. Wenn ich auf diesen klicke, kann ich logischerweise nach bestimmten Dateien suchen. Leider wird da aber immer gezeigt, dass man "Alle Dateitypen (*.*)" durchsuchen lassen möchte.

    Dafür ist theoretisch - wie Ludger schon sagte - das accept-Attribut gedacht. Allerdings habe ich damit mal ein bisschen experimentiert und musste feststellen, dass keiner meiner Testbrowser dieses Attribut korrekt umgesetzt hat. Siehe hierzu auch die Attribut-Definition laut HTML 4.01-Standard.

    Ich will das aber so handeln, dass er beispielsweise nur *.txt-Dateien oder so durchsucht, wie kann ich das realisieren?

    Es gibt keinen zuverlässigen Weg.

    Komm ich da mit JavaScript weiter oder muss ich da mit PHP ran?!

    Du kommst mit beiden Wegen weiter. Bei Javascript kannst du prüfen, ob die Dateiendung deinen Vorgaben entspricht (mit allen damit verbundenen Risiken):

    <script type="text/javascript">
    <!--
    function checkFiletype() {
      var str = document.formname.elementname.value;
      var pos = str.search(/txt/);
      if(pos != str.length-3) {
        alert("Bitte wählen Sie eine Textdatei aus.");
        document.formname.elementname.focus();
        return false;
      }
      else {
        return true;
      }
    //-->
    </script>

    Das Ganze kannst du dann onsubmit aufrufen. Mit PHP musst du die Datei im Uploadscript vor dem Upload daraufhin untersuchen, ob sie dem von dir gewünschten Type entspricht und die entsprechende Fehlermeldung vom Script ausgeben lassen.

    [dsf 3.6]
    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«