Ankündigung

Einklappen
Keine Ankündigung bisher.

Uploadfeld auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Uploadfeld auslesen

    Hallo allerseits,

    ich hoffe die Frage ist hier richtig.

    Kurz zur Erläuterung. Ich baue für einen Kunden eine Seite mit optionalem Dateiupload. Kann ich mittels php vor dem Absenden prüfen, ob eine Datei ausgewählt wurde?

    mit If (isset($_FILES['fileupload'])) klappt es nicht.

    Ich möchte folgendes erreichen. Nur wenn der User eine Datei ausgewählt hat, soll er diese auf Größe, Endung etc. prüfen, da der upload ja optional ist. Wie ich ein Skript für einen Upload schreibe und Formulare validiere ist alles klar.

    Über JS kann ich es auslesen, das klappt. Nur wollte ich es mir gern ersparen alles über JS abzuschicken und Ajax weiter in php auszuführen.

    Danke im Voraus.

    BG.

  • #2
    was heisst "klappt nicht"? mit var_dump($_FILES); siehst du ja unterschiedliche Zustände, je nachdem ob du was hochgeladen hast oder halt nicht.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Zitat von Slater Beitrag anzeigen
      Kann ich mittels php vor dem Absenden prüfen, ob eine Datei ausgewählt wurde?
      Nein, da PHP serverseitig arbeitet. Was ist PHP?

      Du kannst dies aber nach dem Absenden mit PHP prüfen. Wie schon chorn schreibt, sind alle Informationen im $_FILES Array. Das sieht in etwas so aus wenn keine Datei ausgewählt wurde:
      PHP-Code:
      array (
        
      'Datei' =>
        array (
          
      'name' => "",
          
      'type' => "",
          
      'tmp_name' => "",
          
      'error' => 4,
          
      'size' => 0,
        ),

      Die Fehler zum error findest du hier.

      Kommentar


      • #4
        Besten Dank für die Hinweise.

        Das php serverseitig arbeitet ist mir klar. Habe mich etwas ungeschickt ausgedrückt, Entschuldigung. Ich möchte einfach erreichen, dass serverseitig nur dann der Upload geprüft wird, wenn dieser ausgewählt wurde. Die Möglichkeit des Ausgeben der Zustände über var_dump($_FILES); ist mir ebenfalls bekannt und sicher für das Checken hochgeladener Dateien eine nützliche Sache, nur bringt mich das in meinem Fall leider nicht weiter.

        Theoretisch kann ich das ganze doch auch über eine Checkbox lösen? Also, wenn das Feld gesetzt ist, dann führe den Upload aus.

        Anderenfalls bleibt mir dann sicher nur der Weg über Javascript.

        EDIT: Wobei ich mir gerade nicht sicher bin, ob mir in dem Zusammenhang vielleicht nicht doch die Zustände über var_dump($_FILES); weiterhelfen können. Das muss ich ausprobieren.

        Kommentar


        • #5
          Zitat von Slater Beitrag anzeigen
          Theoretisch kann ich das ganze doch auch über eine Checkbox lösen? Also, wenn das Feld gesetzt ist, dann führe den Upload aus.
          Nein, der Upload wird vom Browser und nicht von PHP durchgeführt. Folglich musst du das Problem auch im Browser und nicht mit PHP angehen.

          Kommentar


          • #6
            Hebe dir das Rumfrickeln mit Javascript/Ajax für später auf. Du musst so oder so das was da kommt serverseitig (mit PHP) prüfen. Wenn da nichts hochgeladen wurde oder was falsches dann sendest du das Formular mit einen entsprechenden Hinweis zurück. Schau dir dazu unbedingt an wie ein Affenformular arbeitet.

            Kommentar

            Lädt...
            X