PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTML-Input Dateipfad senden


M@tes
2010-05-19, 14:34:04
Hallo!
Wenn man im Internet danach sucht, findet man eher Beispiele zum Dateien hochladen.
Will selber allerdings keine Dateien hochladen, sondern den Pfad einer Datei in einer Datenbank sichern.
Dazu soll der User wie beim Datei-upload gewohnt die Datei auswählen können.
Wie kann ich jetzt statt die Datei hochzuladen, den Dateipfad übernehmen? Geht das überhaupt?
Opera scheint da ja keine Pfade mehr mitschicken zu wollen - aus Sicherheitstechnischen Gründen.
Hoffe ihr könnt mir weiter helfen
Wäre alternativ via Javascrip möglich vor dem Dateiupload den Pfad aus dem Input in ein Hiddeninputfeld zu kopieren?
Hat das schonmal jemand probiert?
Gruss M@tes

Matrix316
2010-05-19, 16:18:24
Hm, so?

HttpPostedFile hFile = this.ctrlFileUpload.PostedFile;
string sPath = hFile.FileName;


Wenn du ein Input hast, bekommste ja damit den Pfad, oder hast du kein Input Control?

M@tes
2010-05-19, 16:33:52
Derzeit wird dies normal wie folgt gehandhabt:
<form method="post" name="form" action="index.php4">
<input type="file" name="path" value="">
Im IE funktioniert die Pfadübergabe an das PHP File.
Im Opera erhalte ich nur den Dateinamen.
Was ist das fürn Code? Aber kein Javescript oder?

DanMan
2010-05-19, 20:11:40
Welchen Pfad? Den lokalen Pfad, unter dem die Datei liegt? Was willst du denn damit? Bringt dir doch auf dem Server garnix, oder soll das eine Art Dateiverwaltung werden?

Sephiroth
2010-05-19, 21:36:35
Zumal der lokale Pfad imho nur vom Internet Explorer mit übertragen wird - und selbst das kann man in den Sicherheitseinstellungen der Internetzone (oder einer anderen) abschalten.

M@tes
2010-05-19, 21:47:04
Ja dies soll eine kleine Intranet Datenverwaltung werden. Da die Pfade nur schwer generiert werden können (da kein festes System vorhanden.
Das würde bedeuten man müsste Dateinamen und Pfad separat angeben oder mit Hilfe eines PHP Scripts die Ordnerstruktur auf der NetzwerkHD nachbilden unm dort dann den Pfad auswählen zu können.
Gibt es keine einfacheren Alternativen? ;(

Blade II
2010-05-19, 22:03:31
per "file_upload" wird es glaube ich nicht gehen. var_dump von $_FILES spuckt bei mir unter FF3 und IE8 jeweils nicht den Pfad nicht aus: (var_dump($_POST) zeigt gleiche Eigenschaft)
array(1) {
["datei"]=>
array(5) {
["name"]=>
string(15) "IntoTheWild.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(44) "D:\Program Files (x86)\xampp\tmp\php3665.tmp"
["error"]=>
int(0)
["size"]=>
int(675778)
}
}

Du könntest evtl. noch mit readdir (http://php.net/manual/de/function.readdir.php) experimentieren, vllt. bring dich das weiter.

Matrix316
2010-05-20, 10:02:11
Derzeit wird dies normal wie folgt gehandhabt:
<form method="post" name="form" action="index.php4">
<input type="file" name="path" value="">
Im IE funktioniert die Pfadübergabe an das PHP File.
Im Opera erhalte ich nur den Dateinamen.
Was ist das fürn Code? Aber kein Javescript oder?
Nee ist C#. ;) (wir programmieren hier mit ASP.NET, da geht sowas)

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

PatkIllA
2010-05-20, 18:28:28
Aber selbst im Intranet nutzt dir der Pfad doch nichts.
Mal eben die Dateien aus einem Ordner der auf dem Server liegt zu iterieren ist doch nun ziemlich schnell gemacht.

AlecWhite
2010-05-22, 01:23:42
Also per JS das Upload Field auslesen geht nicht - würde das Sicherheitssystem korrupieren. Es ist aus guten Grund nicht erlaubt bzw. von den Browser nicht erlaubt.

Serverseitig kann man natürlich nur das auslesen, was der Browser sendet (und der Dateipfad gehört nicht dazu).