Frage zum Artikel von Ludwig Ruderstaller
Ein verwirrter Anfänger
- php
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
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
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
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
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
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
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
مرحبا
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
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