Link im Textfeld
Sirius
- php
Hallöle..
Ich habe ein Textfeld in dem ich einen Link zu einer Datei eingebe..
<form action="act.php" method="post">
<input name="addy" type="text" style="width:100%">
<input name="submit" type="submit" value="Ok">
</form>
In dieses Textfeld schreibe ich wie gesagt einen Link in folgender Form:
http://www.url.de/text.txt
In der "act.php" steht nun folgendes:
$datei = fopen($_POST['addy'],'r');
while (!feof($datei)){
$zeile = fgets($datei,1024);
echo $zeile;
}
fclose($datei);
Das Problem ist, dass es aus irgendeinem Grund nicht klappt.. Komischerweise gehts aber, wenn ich im Code direkt schreibe:
$datei = fopen('http://www.url.de/text.txt','r');
Hat jemand eine Idee?
Hello,
<form action="act.php" method="post">
<input name="addy" type="text" style="width:100%">
<input name="submit" type="submit" value="Ok">
</form>In dieses Textfeld schreibe ich wie gesagt einen Link in folgender Form:
http://www.url.de/text.txt
In der "act.php" steht nun folgendes:
$datei = fopen($_POST['addy'],'r');
while (!feof($datei)){
$zeile = fgets($datei,1024);
echo $zeile;
}
fclose($datei);
Was hast Du denn zur Ermittlung der Fehler bisher getan?
Hast Du Dir $_POST['addy'] mal ausgeben lassen?
Hast Du den Fehlermeldungs-Level auf 2047 (E_ALL) eingestellt?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Was hast Du denn zur Ermittlung der Fehler bisher getan?
Hast Du Dir $_POST['addy'] mal ausgeben lassen?
Hast Du den Fehlermeldungs-Level auf 2047 (E_ALL) eingestellt?Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
Beides ja.. E_ALL ist sowieso in jeder Seite drin, weils im header Template steht.. Und die Ausgabe der POST Variable ist der korrekte Link.. Deswegen kann ich mir auch absolut nicht vorstellen, wieso es nicht geht..
Hello,
Beides ja.. E_ALL ist sowieso in jeder Seite drin, weils im header Template steht.. Und die
Ausgabe der POST Variable ist der korrekte Link.. Deswegen kann ich mir auch absolut nicht
vorstellen, wieso es nicht geht..
Weil da vielleicht noch Leerzeichen im Spiel sein könnten?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Beides ja.. E_ALL ist sowieso in jeder Seite drin, weils im header Template steht.. Und die
Ausgabe der POST Variable ist der korrekte Link.. Deswegen kann ich mir auch absolut nicht
vorstellen, wieso es nicht geht..Weil da vielleicht noch Leerzeichen im Spiel sein könnten?
Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
Habs gerade noch 3 mal überprüft.. Es wird definitiv der korrekte Link ausgegeben.. Aber trotzdem wird die Datei scheinabr nicht geöffnet..
Hello,
Habs gerade noch 3 mal überprüft.. Es wird definitiv der korrekte Link ausgegeben.. Aber trotzdem wird die Datei scheinabr nicht geöffnet..
Hast Du denn mal das Handle $datei überprüft, ob eines geleifert wird?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Habs gerade noch 3 mal überprüft.. Es wird definitiv der korrekte Link ausgegeben.. Aber trotzdem wird die Datei scheinabr nicht geöffnet..
Hast Du denn mal das Handle $datei überprüft, ob eines geleifert wird?
Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
Es ist doch wirklich merkwürdig..
Auch wenn ich den Link vorher in eine Variable speichere:
$url = "http://www.url/text.txt";
und dann fopen aufrufe:
$datei = fopen($url, "r");
Es geht einfach NICHT!! Es geht nur wenn ich den Link direkt bei fopen angebe.. Sobald ich eine Variable verwende funktioniert es nicht..
Hello,
Es geht einfach NICHT!! Es geht nur wenn ich den Link direkt bei fopen angebe.. Sobald ich eine Variable verwende funktioniert es nicht..
Das ist jetzt aber ein Witz, oder?
Und Fehlermeldungen gibt es auch nicht?
Was liefert denn
echo $datei;
nach dem fopen()?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Es geht einfach NICHT!! Es geht nur wenn ich den Link direkt bei fopen angebe.. Sobald ich eine Variable verwende funktioniert es nicht..
Das ist jetzt aber ein Witz, oder?
Und Fehlermeldungen gibt es auch nicht?
Was liefert dennecho $datei;
nach dem fopen()?
Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
Nein, kein Witz.. Mir ist eigentlich auch net zum Lachen zumute, weil ich bald den PC aus dem Fenster werfe:D..
echo $datei;
liefert: Resource id #14
Hello,
Nein, kein Witz.. Mir ist eigentlich auch net zum Lachen zumute, weil ich bald den PC aus dem Fenster werfe:D..
echo $datei;
liefert: Resource id #14
*Würmerausdernasezieh*
Mit Variable auch?
Oder nur bei direkter Übergabe des Strings?
Hast Du den Webserver mal neu gestartet?
Welche PHP-Version auf welchem OS hast Du installiert?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Also das war jetzt bei einer Variable in der ich den Link zwischengespeichert habe..
Kann man irgendwo nachsehen, was die verschiedenen Resource ID´s zu sagen haben?
Also das war jetzt bei einer Variable in der ich den Link zwischengespeichert habe..
Kann man irgendwo nachsehen, was die verschiedenen Resource ID´s zu sagen haben?
Ein Stück weiter bin ich aber.. Wenn die Datei bei mir lokal auf dem Server liegt, gehts ohne PRobleme..
Hello,
Also das war jetzt bei einer Variable in der ich den Link zwischengespeichert habe..
Kann man irgendwo nachsehen, was die verschiedenen Resource ID´s zu sagen haben?
Die Ressource-ID ist ein Handle auf eine interne Verwaltungsliste des Systems.
Wenn Du eine erhältst, solltest Du die Ressource auch auslesen können.
ggf. ist die Angabe von 1024 Bytes für ein Packet zu groß. Setz da mal 128 Bytes ein.
Das würde auch erklären, dass der Wrapper die Ressource lesen kann, wenn sie lokal liegt. Da schein in PHP noch eine Macke zu sein.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Bist Du schon eingeschlafen?
Die Ressource-ID ist ein Handle auf eine interne Verwaltungsliste des Systems.
Wenn Du eine erhältst, solltest Du die Ressource auch auslesen können.ggf. ist die Angabe von 1024 Bytes für ein Packet zu groß. Setz da mal 128 Bytes ein.
Das würde auch erklären, dass der Wrapper die Ressource lesen kann, wenn sie lokal liegt. Da schein in PHP noch eine Macke zu sein.
Nimm außerdem statt fgets() mal fread().
Könnte sein, dass der (Denk-)Fehler im PHP in der Bufferung liegt.
also
$datei = fopen($_POST['addy'],'rb');
while (!feof($datei))
{
$zeile = fread($datei,128);
echo $zeile;
}
fclose($datei);
Das sollte aber funktionieren!
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom