Dateiauswahlmenü ohne Fileupload
DerDip
- html
0 bleicher0 DerDip0 bleicher
0 Felix Riesterer
Hallo,
ich möchte ein Dateiauswahlmenü erzeugen, in dem ich eine lokale Datei (Clientseite) auswählen kann um den gewählten clientseitigen Pfad dann an den Server zu schicken.
Leider kenne ich nur die Möglichkeit über das Formular mit type="file" eine Datei anzuhängen. Dann bekomme ich aber auf Serverseite die Datei, aber nicht den lokalen Pfad, indem sich diese Datei befand. Ich bräuchte jedoch den lokalen Pfad.
Über einen Tipp würde ich mich sehr freuen!
Viele Grüße,
DerDip
Grüße,
schau hin - http://www.php.net/features.file-upload
viel mehr kannst du kaum rausquetschen, und sollte $_FILES['userfile']['name'] nicht genügen , kannst du nicht argh viel machne. ich fin dees auch gut so - aus datenschutzgründen,. es geht niemanden an wie ich meine datenstruktur gestalte.
MFG
bleicher
Hallo bleicher,
vielen Dank für die schnelle Antwort. An den ursprünglichen Dateinamen komme ich ran, ich bin jedoch an dem vollständigen ursprünglichen Pfad interessiert.
Es ist richtig, dass die private Pfadstruktur eigentlich keinen etwas angehen sollte. Es handelt sich aber hierbei um eine Intranet Anwendung und der Pfad sollte zu (innerhalb des Intranets) öffentlichen Dateien zeigen.
Ich habe gehofft mir so etwas arbeit zu sparen, anstatt die Dateiauswahl komplett Serverseitig zu gestalten. Aber scheinbar sind die Datenschutzmechanismen (zu recht) gut implementiert...
Viele Grüße,
DerDip
Grüße,
Ich habe gehofft mir so etwas arbeit zu sparen, anstatt die Dateiauswahl komplett Serverseitig zu gestalten. Aber scheinbar sind die Datenschutzmechanismen (zu recht) gut implementiert...
du kansnt dem user die möglichkeit geben den pfad mitzugeben.
vllt kann der den aus dem dateiupload feld direkt copy/pasten. so schwer ist strg-c/strg-v nicht.
JS kann das aber nciht (soweit ich weiss). überprüf es aber - uU geht es doch noch un ddu kansnt den vollen pfad in einem hiddenfeldmitschicken.
MFG
bleicher
Hi,
im FF 2 funktioniert das hier.
<input onblur="alert(this.value)" type="file">
Der Inhalt wird gezeigt, wenn man den DURCHSUCHEN-Button verlässt (onblur), nicht etwa das Eingabefeld.
Am besten wäre wohl auf fileField.value zuzugreifen (und wie oben gesagt in ein hiddenField kopieren), bevor du das Formular sendest - das sollte ja dann auch gehen.
Viel Erfolg,
Servus
Nochmal ich ... onchange geht oben auch, und is besser, weil's beim Ändern ausgelöst wird ... war auch mein 1. Versuch, hat aber irgendwie nicht geklappt (typo?) ... geht aber ... wieder nur im FF 2 getestet!
Viel Erfolg
Hallo,
danke für die Lösung!! Das Auslesen des Upload-Feldes mit JavaScript und kopieren des Pfades in ein hidden Feld funktioniert wunderbar!!
Viele Grüße,
DerDip
Hi!
Ich frage mich nur, warum Du Server-seitig einen Pfad auf dem Client benötigst?
off:PP
Hallo Peter Pan,
wie ich bereits geschrieben habe, handelt es sich um eine Intranet Anwendung. Alle Clients in diesem Intranet haben genauso wie der Server zugriff auf gewisse gemeinsame Dateien.
Die Benutzer sollen innerhalb der Anwendung die Möglickeit haben, auf bestimmte Dateien Verweise anzulegen. Um die Auswahl der Dateien für die Anwender möglichst einfach zu gestalten und den Aufwand auf der Programmierseite möglichst gering zu halten, möchte ich daher auf das Dateiauswahlmenü zurückgreifen, welches html zur Verfügung stellt.
Hoffe Deine Frage damit beantwortet zu haben.
Gruß,
Der Dip
Hi!
...zugriff auf gewisse gemeinsame Dateien.
Im Netzwerk also, oder?
Hoffe Deine Frage damit beantwortet zu haben.
Nein.
off:PP
...zugriff auf gewisse gemeinsame Dateien.
Im Netzwerk also, oder?
Ja
Hoffe Deine Frage damit beantwortet zu haben.
Nein.
Wo liegt denn das Verständnisproblem?
Hi!
...zugriff auf gewisse gemeinsame Dateien.
Im Netzwerk also, oder?
Ja
Hoffe Deine Frage damit beantwortet zu haben.
Nein.
Wo liegt denn das Verständnisproblem?
Darin, dass lokale Pfade in Netzwerken irrelevant sind, auch wenn Teile dessen Bestandteile von UNC - (o.ä.) Pfaden sein können.
off:PP
Wo liegt denn das Verständnisproblem?
Darin, dass lokale Pfade in Netzwerken irrelevant sind, auch wenn Teile dessen Bestandteile von UNC - (o.ä.) Pfaden sein können.
Die Dateien, auf die die Pfade zeigen sollen, befinden sich in einem Netzwerkverzeichnis, welches standardmäßig bei allen Benutzern dem gleichen Laufwerksbuchstaben zugeordnet sind (Windows). Dadurch ist es möglich über das lokale Dateiauswahlmenü auf Pfade im Netzwerk zu verweisen, anstatt dies Serverseitig zu implementieren (was die saubere, aber aufwendigere Lösung wäre)
Es steht außer Frage, dass dieser Ansatz nicht sehr schön ist. Die vorgeschlagenen Lösungen funktionieren aber im besagten Fall wunderbar.
Gruß,
DerDip
Hi,
Die Benutzer sollen innerhalb der Anwendung die Möglickeit haben, auf bestimmte Dateien Verweise anzulegen.
Du möchtest also gar nicht die Datei übertragen (bzw. schmeisst sie gleich weg), sondern nur den Pfad ermitteln? Zumindest auf einem Windows-Server gibt es dann Probleme mit Leerzeichen, die ja üblicherweise oft vorhanden sind...
freundliche Grüße
Ingo
Du möchtest also gar nicht die Datei übertragen (bzw. schmeisst sie gleich weg), sondern nur den Pfad ermitteln?
JA
»»Zumindest auf einem Windows-Server gibt es dann Probleme mit Leerzeichen, die ja üblicherweise oft vorhanden sind...
Danke für den Hinweis, aber in dem Fall sind keine Leerzeichen vorhanden.
Lieber DerDip,
Du kannst mittels JavaScript das Fileupload-Feld auslesen, um diese Information in einem anderen Text-Inputfeld mitzuschicken. Dazu sollte Dir der Eventhandler onchange helfen.
Liebe Grüße aus Ellwangen,
Felix Riesterer.