Der Martin: Frage zum Artikel von Ludwig Ruderstaller

Beitrag lesen

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:(