Ein verwirrter Anfänger: Frage zum Artikel von Ludwig Ruderstaller

Seit gegrüsst

Habe mir den Artikel von Ludwig Ruderstaller unter folgendem Link angeschaut...

http://aktuell.de.selfhtml.org/artikel/php/php-uploadcheck/

Beim durchlesen ist eine Grundlagenfrage aufgetaucht...

Wie funktioniert das mit PHP?

Dachte immer PHP ist Serverseitig und kommuniziert über Html mit dem Browser...

Wie kann da ein Html-File den Explorer öffnen, damit man dort eine Datei auswählen kann?

Bin leider noch Anfänger, möchte aber dennoch die Grundlagen verstehen!

Freundliche Grüsse

  1. Hallo,

    http://aktuell.de.selfhtml.org/artikel/php/php-uploadcheck/

    Beim durchlesen ist eine Grundlagenfrage aufgetaucht...
    Wie funktioniert das mit PHP?

    "Grundlagenfrage" trifft's schon recht gut. ;-)

    Dachte immer PHP ist Serverseitig und kommuniziert über Html mit dem Browser...

    Ja und nein. PHP läuft auf dem Server, soweit richtig. Was PHP erzeugt und an den Browser sendet, muss aber nicht unbedingt HTML sein. Das ist zwar ein typischer Anwendungsfall, aber PHP kann ebensogut direkt Bilder oder ganz andere Ressourcen erzeugen.

    Wie kann da ein Html-File den Explorer öffnen, damit man dort eine Datei auswählen kann?

    Das ist die "angeborene" Fähigkeit des File-Upload-Felds <input type="file">.
    Dieses Eingabefeld sorgt in einem Formular für den kompletten browserseitigen Teil des Uploads: Es öffnet beim Klicken ein Datei-Auswahlfenster, und es schickt beim Absenden des Formulars den Inhalt der ausgewählten Datei mit.

    Das PHP-Script auf dem Server nimmt die gesendeten Formulardaten einschließlich des Inhalts der ausgewählten Datei dann entgegen, prüft und verarbeitet die Daten soweit nötig und vorgesehen, und speichert sie dann wieder als Datei auf dem Server.

    Bin leider noch Anfänger, möchte aber dennoch die Grundlagen verstehen!

    Gute Einstellung. :-)

    So long,
     Martin

    --
    Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.
      (Henry Ford, amerikanischer Industriepionier)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Seit gegrüsst

      Ja und nein. PHP läuft auf dem Server, soweit richtig. Was PHP erzeugt und an den Browser sendet, muss aber nicht unbedingt HTML sein. Das ist zwar ein typischer Anwendungsfall, aber PHP kann ebensogut direkt Bilder oder ganz andere Ressourcen erzeugen.

      Meinst Du damit javascript, bilder, pdf etc? Je nach dem wird ja noch ein Plugin benötigt?

      Das ist die "angeborene" Fähigkeit des File-Upload-Felds <input type="file">.

      Ist das ein Html Feld, oder wie versteht sich das? Oder basiert es auf Javascript?
      Wobei Javascript ja keinen Zugriff auf das Dateisystem hat

      Dieses Eingabefeld sorgt in einem Formular für den kompletten browserseitigen Teil des Uploads: Es öffnet beim Klicken ein Datei-Auswahlfenster, und es schickt beim Absenden des Formulars den Inhalt der ausgewählten Datei mit.

      Das heisst der Browser kann durch dieses Feld automatisch auf das Dateisystem zugreiffen?
      Wie funktioniert das mit der Sicherheit? Kann die Webseite so nicht automatisch eine Datei uploaden?

      Hat evtl jemand ein Codebeispiel der Formularanfrage (html?) die an den Browser gesendet wird und wo sich dann der Explorer zum auswählen der Datei öffnet...

      Sind ein wenig viele Fragen, hoffe bekomme dennoch eine Antwort

      Gruss

      1. Hi,

        Das ist die "angeborene" Fähigkeit des File-Upload-Felds <input type="file">.

        Ist das ein Html Feld, oder wie versteht sich das?

        http://de.selfhtml.org/html/formulare/datei_upload.htm

        Dieses Eingabefeld sorgt in einem Formular für den kompletten browserseitigen Teil des Uploads: Es öffnet beim Klicken ein Datei-Auswahlfenster, und es schickt beim Absenden des Formulars den Inhalt der ausgewählten Datei mit.

        Das heisst der Browser kann durch dieses Feld automatisch auf das Dateisystem zugreiffen?
        Wie funktioniert das mit der Sicherheit? Kann die Webseite so nicht automatisch eine Datei uploaden?

        Nein, der Nutzer muss aktiv eine Datei (/Dateien) auswählen.

        Hat evtl jemand ein Codebeispiel der Formularanfrage (html?) die an den Browser gesendet wird und wo sich dann der Explorer zum auswählen der Datei öffnet...

        Schau dir unter obigem Link das Anzeigebeispiel an.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Seit gegrüsst

          Vielen Dank für eure Antworten, haben mir sehr geholfen!!

          Eine kleine Frage habe den Code von Ludwig kurz in ein Html-Files kopiert um das mit dem Formular zu testen...

          Nun die Frage kann man die Bezeichnung "Durchsuchen..." ändern?
          Konnte unter diesem Link nichts zum Design finden... Was gibt es für Gestaltungsmöglichkeiten?

          http://de.selfhtml.org/html/formulare/datei_upload.htm

          Gruss

          1. Hi,

            Nun die Frage kann man die Bezeichnung "Durchsuchen..." ändern?

            Nicht per HTML - die Beschriftung ist Browser- und Sprach-abhängig, und damit idealerweise über alle Webseiten die der Nutzer besucht konstant, so dass er immer sofort weiß um was es sich dabei handelt.

            Konnte unter diesem Link nichts zum Design finden... Was gibt es für Gestaltungsmöglichkeiten?

            Das geht nur indem man mit CSS trickst und andere Elemente darüber legt - siehe bspw. http://www.quirksmode.org/dom/inputfile.html

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      2. Hallo,

        [...] PHP kann ebensogut direkt Bilder oder ganz andere Ressourcen erzeugen.
        Meinst Du damit javascript, bilder, pdf etc?

        ja, all das. PHP generiert Daten und sendet sie an den Browser. Welche Art von Daten das sind, ist technisch kein Unterschied. Vor allem ist es aus der Sicht des Browsers kein Unterschied, ob er z.B. ein Bild von http://example.org/image.png anfordert, oder ob ein Script unter http://example.org/image.php exakt dieselben Daten liefert.

        Je nach dem wird ja noch ein Plugin benötigt?

        Unter Umständen, ja - wenn Daten übermittelt werden, die der Browser nicht "aus eigener Kraft" darstellen kann. Oder der Browser fragt nach, mit welchem Programm die empfangenen Daten geöffnet bzw. wo sie gespeichert werden sollen.

        Das ist die "angeborene" Fähigkeit des File-Upload-Felds <input type="file">.
        Ist das ein Html Feld, oder wie versteht sich das?

        Ja, das ist pures HTML.

        Das heisst der Browser kann durch dieses Feld automatisch auf das Dateisystem zugreiffen?

        Nein, nicht automatisch, sondern nur durch den Bediener, der vor dem Gerät sitzt.

        Wie funktioniert das mit der Sicherheit? Kann die Webseite so nicht automatisch eine Datei uploaden?

        Nein, genau das geht aus Sicherheitsgründen nicht. Im Gegensatz zu fast allem anderen Formularelementen kann z.B. der Inhalt ("value") eines File-Upload-Feldes nicht durch ein Script gesetzt werden, und auch ein Defaultwert über das value-Attribut wird hier ignoriert. Es geht ausschließlich interaktiv durch den Nutzer (mögliche Sicherheitslücken und/oder Browser-Bugs mal ausgeklammert).

        Hat evtl jemand ein Codebeispiel der Formularanfrage (html?) die an den Browser gesendet wird und wo sich dann der Explorer zum auswählen der Datei öffnet...

        Steht doch in Ludwigs Artikel, den du selbst schon verlinkt hast. :-)

        Ciao,
         Martin

        --
        Elefant zum Kamel: "Sag mal, wieso hast du denn den Busen auf dem Rücken?"
        Kamel:             "Ziemlich freche Frage für einen, der den Penis im Gesicht hat."
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      3. مرحبا

        Hat evtl jemand ein Codebeispiel der Formularanfrage (html?) die an den Browser gesendet wird und wo sich dann der Explorer zum auswählen der Datei öffnet...

        Klar.

        mfg

        --
         .
        ..:
        1. Om nah hoo pez nyeetz, Malcolm Beck´s!

          Hat evtl jemand ein Codebeispiel der Formularanfrage (html?) die an den Browser gesendet wird und wo sich dann der Explorer zum auswählen der Datei öffnet...
          Klar.

          YMMD

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Kamas und Kamasutra.