input type=file
Alicja
- html
0 MudGuard0 Sven Rautenberg0 Alicja
Ok, ich habe ein kleines Problem mit type=file.
Ich benutze das nicht um dateien upzuloaden, sondern nur um ein Pfad einer Datei als Text anschließend in der Datenbank zu speichern.
Ales mit php.
Bei der Bearbeitungsmaske möchte ich natürlich die Inhalte wieder in das Formular einlesen und so die Möglichkeit geben die Angaben zu ändern. Ich habe leider bisher keine Möglichkeit gefunden den String als Value bei dem input type=file Feld anzeigen zu lassen. Immer wieder lese ich, dass value bei type=file nicht funktioniert gibt es da eine andere möglichkeit?.
Danke
Alicja
Hi,
Ok, ich habe ein kleines Problem mit type=file.
Ich benutze das nicht um dateien upzuloaden, sondern nur um ein Pfad einer Datei als Text anschließend in der Datenbank zu speichern.
Ales mit php.
Da wird natürlich die Datei hochgeladen - der Browser weiß ja nicht, daß Du nur den Pfad auswertest, also schickt er die Datei mit.
Bei der Bearbeitungsmaske möchte ich natürlich die Inhalte wieder in das Formular einlesen und so die Möglichkeit geben die Angaben zu ändern. Ich habe leider bisher keine Möglichkeit gefunden den String als Value bei dem input type=file Feld anzeigen zu lassen. Immer wieder lese ich, dass value bei type=file nicht funktioniert gibt es da eine andere möglichkeit?.
Ersetze das type="file" durch type="text".
Dann muß der User halt den Pfad manuell eintragen.
Dann wird die Datei auch nicht übertragen und das Feld kann vorbelegt werden.
Andreas
Moin!
Ok, ich habe ein kleines Problem mit type=file.
Ich benutze das nicht um dateien upzuloaden, sondern nur um ein Pfad einer Datei als Text anschließend in der Datenbank zu speichern.
Ales mit php.
Da wird natürlich die Datei hochgeladen - der Browser weiß ja nicht, daß Du nur den Pfad auswertest, also schickt er die Datei mit.
Nö, die Datei wird nur hochgeladen, wenn man im Formular den enctype auf "multipart/form-data" setzt. Ansonsten kommt nur der Dateiname zum Skript, wie ein einzelnes Textfeld.
Allerdings: Darauf gebe ich keine Garantie für alle Browser. Die, bei denen ich es ausprobiert habe, haben so gearbeitet.
- Sven Rautenberg
Moin!
Hi
Nö, die Datei wird nur hochgeladen, wenn man im Formular den enctype auf "multipart/form-data" setzt. Ansonsten kommt nur der Dateiname zum Skript, wie ein einzelnes Textfeld.
Allerdings: Darauf gebe ich keine Garantie für alle Browser. Die, bei denen ich es ausprobiert habe, haben so gearbeitet.
Also nach HTML 4.01, Abschnitt 17.13.2 sollte der File-Inhalt immer mitgesendet werden. Nur das "Wie" wird über den Content-Type geregelt.
The current value of a file select is a list of one or more file names. Upon submission of the form, the contents of each file are submitted with the rest of the form data. The file contents are packaged according to the form's content type.
Mag sein, daß das die Browser anders machen.
Andreas
Moin!
Bei der Bearbeitungsmaske möchte ich natürlich die Inhalte wieder in das Formular einlesen und so die Möglichkeit geben die Angaben zu ändern. Ich habe leider bisher keine Möglichkeit gefunden den String als Value bei dem input type=file Feld anzeigen zu lassen. Immer wieder lese ich, dass value bei type=file nicht funktioniert gibt es da eine andere möglichkeit?.
Klar. Mach ein doppeltes Feld: Einmal file, und einmal text. In das Textfeld schreibst du den alten Inhalt rein. Den könnte man als Benutzer manuell verändern, also sollte dieser Wert beim erneuten Absenden im Zweifel wieder gespeichert werden.
Das file-Feld bleibt standardmäßig leer. Nur wenn es einen Inhalt hat, wird dieser statt des Textfeldes übernommen.
Ich hoffe, du machst nichts gefährliches mit den Dateinamen. Du solltest damit rechnen, dass ein Benutzer sich nicht an die Regeln hält und dir jeden möglichen und unmöglichen Dateinamen zuschickt. Das sollte bedacht werden. Allerdings: Wenn du das file-Eingabefeld nur zum Dateinamenaussuchen verwendest, dann kann dein Skript sich ohnehin nur auf deinen eigenen Rechner beziehen und wird auf anderen Rechnern nicht laufen. Trotzdem sei zur Vorsicht geraten!
- Sven Rautenberg
Ich danke für Eure Hilfe, ging echt schnell, einieges habe ich mir schon als Lösung so gedacht. Ich habe nur gehoft da gibt es eine Möglichkeit den type file genauso zu fühlen wie type text. Aber macht nix, man muss sich halt mit Tricks auch helfen können.
Über die Gefahren weiß ich bescheid aber wie gesagt ich sende es nur als String ohne "multipart/form-data" also es dürfte nichts passieren.
Danke
Alicja