n'abend,
Also, irgendwie, nein. Das $_POST['Benutzerdatei'] an dieser Stelle ist nicht nur unnötig, es ist obendrein falsch.
Ist es nicht, weil der Name der Datei dem php-Skript mittels eines Textfeldes in einem HTML-Eingabeformular übermittelt wurde - und dieses Textfeld heißt eben "Benutzerdatei"!
Wenn du das so verstanden hast, möchtest du den Abschnitt "Dateiübrtragung von Browser zu Server mittels HTTP mit anschließender Verarbeitung in PHP" deines Buches nochmal lesen...
a) Ist das kein Textfeld, sondern ein Feld zur Erfassung einer Datei
b) Wird nicht der Pfad zur Datei an den Server geschickt, sondern der Inhalt der Datei (mit dem Dateinamen als Meta-Information)
c) Das Feld heißt in der Tat »Benutzerdatei«, das macht es aber noch lange nicht zum Textfeld.
"http://www.bergisch-afghanistan.de/ein_wochenende_in_protohafisabad_2007.txt");
Nun, das dürfte ebenfalls zu Problemen führen. PHP kann keine Dateien einfach so an einen Webserver schicken. Du musst hier schon den Verzeichnispfad angeben, in welchen die Datei geschoben werden soll.
Fragt sich nur, wie... Zugriff auf Verzeichnisse auf dem Webserver oberhalb meines home-Verzeichnisses dürfte ich schwerlich haben, von daher kann ich gar nicht wissen, wie der absolute Pfad lautet! Und was soll denn eine Upload-Routine, wenn sie für Remote-Uploads gar nicht zu gebrauchen ist?
Ich glaube du missverstehst nicht nur mich, sondern auch die Funktionsweise des Datentransfers.
a) Kannst du die Datei hinschreiben wo auch immer du willst, bzw. dein Webserver schreibrechte hat. In der Regel ist das irgendein Verzeichnis in deinem DocumentRoot (also dort, wo deine Webseite liegt).
b) »Remote-Uploads« im Sinne von Browser -> Server1 -> Server2 sind sehr wohl möglich, aber in den seltensten Fällen notwendig. In deinem Fall sehe ich nicht, warum die Datei an einen weiteren Server geschickt werden sollte, ergo sprechen wir hier auch nicht von »Remote-Upload«.
c) Transformiert der Webserver die Adresse http://www.irgendwas.de/lustiges.html nach beispielsweise /webseiten/irgendwas.de/www/htdocs/lustiges.html - PHP macht das *nicht* für dich. Du musst das Verzeichnis - in das die Datei abgelegt werden soll - schon kennen.
Seit wann müssen denn Variablen in PHP zwingend deklariert werden?
Ich sprach mehr von initialisieren - mit einem Wert belegen. Deklarieren als solches (wie man es aus typisierten Sprachen kennt) gibt's in PHP nicht, da hast du recht.
Kann nicht sein, im Formular habe ich "liste.txt" (ohne Anführungszeichen natürlich) eingegeben - oder vielleicht ist ein Zeilenumbruch mit hineingeraten...
Du solltest mittlerweile verstanden haben, dass ein Webserver *NICHT* auf deine Lokale Festplatte zugreifen kann und ihm deshalb der Pfad zu einer Datei auf *deiner* Festplatte *GAR NICHTS* bringt. Dein Browser übermittelt den INHALT der Datei, nicht den Pfad - andernfalls könnte der Webserver nach hause gehen...
weiterhin schönen abend...
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|