• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dateipfad ermitellen

Char

Neues Mitglied
Huhu Forum,



ich programmiere mir derzeit ein Code, mit welchen ich unter anderem eine Datei hochladen kann um anschließend deren Inhalt weiter zu verarbeiten.

In PHP habe ich das ganze mit der Funktion fsopen() umgesetzt:

PHP:
$datei=fopen("C:\die_datei_die_eingelesen_werden_soll.txt", "r");
    
    while(!feof($datei))
    {
        $string = fgets($datei);
        echo $string;
        //entfernt den Zeilenumbruch der beim Einlesen ensteht
        $url = rtrim($string);
        parameter_abfragen($url);
    }
    fclose($datei);

Nun möchte ich den Code in soweit modifizieren, dass die Datei nicht fest ist, sondern der Nutzer diese individuell auswählen kann.
Dazu habe ich mir folgenden HTML-Code zusammen gebastelt:

HTML:
Datei hochladen:
    <input type="file" name="file"/></p>
    <input type="Submit" name="upload" value="hochladen" /></p></p>

in Php wollte ich dann das ganze so übergeben:

PHP:
if(isset($_GET['upload'])){

$dateiEinlesen = true;
$file = $_GET['file'];
}

Leider bekomme ich dann dort nicht den Pfad übergeben, sondern nur den Dateinamen.
Der Funktion fsopen() muss ich aber den gesamten Pfad übergeben, damit diese korrekt funktioniert.

Ich habe mich nun schon schlau gemacht und anscheind kann man mit dem type="file" aus Sicherheitsgründen keine Pfade übermitteln :/

Hat sich evtl. in der Zwischenzeit daran etwas geändert:D ? Oder könnte mir evtl. jmd. einen Tipp geben wie ich das
Problem anders gelöst bekomme ?

Vielen Dank

Char
 
Zuletzt bearbeitet:
Ich glaube Du verwechselst da etwas. fopen() öffnet eine Datei auf dem Server auf dem das PHP-Script ausgeführt wird. fopen() öffnet und erstellt keine Dateien auf dem Computer des Benutzers. Daher macht es auch gar keinen Sinn den Pfad der Datei auf dem Computer des Benutzers ermitteln zu wollen um die Datei dann auch unter diesem Pfad zu speichern.

Und nein, an dieser Sicherheitseinstellung hat und wird sich (selbst mit Einführung von HTML5) nichts ändern.

Du hast btw. in deinem PHP-Code noch einen Schreibfehler, schau dir mal das Syntaxhighlighting hier im Forum an.
 
Hey threadi,

vielen Dank für deine Antwort.
Okay dann muss ich mir wohl für php eine andere Funktion suchen mit der mein Vorhaben zu lösen ist. Falls jmd. einen Vorschlag hat immer raus damit :)

threadi schrieb:
Du hast btw. in deinem PHP-Code noch einen Schreibfehler, schau dir mal das Syntaxhighlighting hier im Forum an.
Du meinst bestimmt das fehlende " am Ende des Dateinamens, welche hochgeladen werden soll bei fsopen, oder?

Edit.: Hab es geändert

Gruß Char
 
Ich schreibe ein Programm mit dessen Hilfe man u.a. die Parameter von URLs abfragen kann.
Dabei soll man unter anderem auch eine Datei hochladen können, in der sich die abzufragenden URLs befinden.
z.B
"www.google.de"
"www.php.de"
"www.html.de"

Mit fsopen() hatte ich es jetzt schon soweit zum laufen gebracht, jedoch musste ich dabei fest den Dateipfad dort angeben. Nun wollte ich das ganze so ändern, dass man ganz individuell eine lokale Datei auswählen kann.
 
Dann sollte dein Vorhaben grundsätzlich möglich sein, nur wirst Du nicht den lokalen Pfad der Benutzer auslesen und/oder beeinflussen können.
 
alles kla - denk ich auch !

Ich mach grad nen Tut. für HTML und CSS und danach schau ich mich mal nach ner Lösung um.
Ich werd sie dann hier reinstellen, falls jmd. mal das selbe "Problem" bzw. Vorhaben hat.
 
Zurück
Oben