fread und fopen
Nad Flanders
- php
Hallo,
ich versuche im php eine html Datei zu öffnen und anzeigen zu lassen.Im nächsten Schritt sollen dann der Text mit preg_replace geändert werden. Soweit bin ich aber noch nicht.
Hier mal der Code:
<?
$file_url = $HTTP_SERVER_VARS['HTTP_REFERER'] ;
$file = fopen($file_url,'rb');
$text = fread($file,filesize($file_url));
echo ' ' .$text. ' ';
?>
Ich erhalte folgende Fehlermeldungen:
Warning: filesize() [function.filesize]: stat failed for http://.....
Warning: fread() [function.fread]: Length parameter must be greater than 0
Für eine kleine Hilfestellung wäre ich dankbar.
Lg,
Nad
Hi,
Warning: filesize() [function.filesize]: stat failed for http://.....
Du schaust im Manual unter filesize nach, dort findest du die Aussage
"As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality."
Hast du PHP 5 laufen?
Wenn ja, geht's weiter zur Liste der Wrapper, genauer HTTP and HTTPS Wrapper.
"Supports stat() No"
Also kannst du filesize nicht fuer HTTP-Ressourcen benutzten.
Na, waere das jetzt so schwierig selber herauszufinden gewesen?
Also ueberleg dir eine andere Moeglichkeit, den Inhalt einer HTTP-Ressource mit PHP einzulesen.
MfG ChrisB
Hi,
danke für die schnelle Antwort. Ja ich habe PHP 5. Was wäre eine andere sinvolle Möglichkeit?
Lg,
Nad
Moin!
danke für die schnelle Antwort. Ja ich habe PHP 5. Was wäre eine andere sinvolle Möglichkeit?
file_get_contents()
- Sven Rautenberg
file_get_contents()
danke, jetzt funktioniert es.
Lg,
Nad
Hallo,
Ja ich habe PHP 5.
und da verwendest du immer noch so archaische Dinge wie
$file_url = $HTTP_SERVER_VARS['HTTP_REFERER']
anstatt auf die entsprechenden Arrays $_SERVER[], $_GET[] usw. zurückzugreifen?
So long,
Martin
Hi,
ich versuche im php eine html Datei zu öffnen und anzeigen zu lassen.
tust Du nicht. Du versuchst, eine Ressource zu öffnen und anzeigen zu lassen. Ressourcen haben *nichts* mit Dateien zu tun.
Und da fragen sich die Leute, warum ich auf derlei Unterschieden immer so rumreite.
Für eine kleine Hilfestellung wäre ich dankbar.
Betrachte Ressourcen als Ressourcen, selbst wenn die PHP-Entwickler das Unwissen der Leute unterstützt haben, indem sie den Zugriff darauf teilweise über eine als "file" benamste Funktion ermöglicht haben. Beschäftige Dich also mit HTTP-Requests und den zugehörigen Responses.
Cheatah
Hello,
Und da fragen sich die Leute, warum ich auf derlei Unterschieden immer so rumreite.
Wer reitet so oft durch Forum und Netz
das kann nicht sein, des ist nicht Gesetz
ist es der Cheatah aus Carlos Ruh?
Ich halt meine Schnauze und schau lieber zu...
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
ich versuche im php eine html Datei zu öffnen und anzeigen zu lassen.Im nächsten Schritt sollen dann der Text mit preg_replace geändert werden. Soweit bin ich aber noch nicht.
Hier mal der Code:
<?
kein <?php ?
Klingt irgendwie nach...
$file_url = $HTTP_SERVER_VARS['HTTP_REFERER'] ;
Wenn ich das richtig verstehe, vertraust du auf den Referer, welchen der Browser angibt. Der Referer kann '' sein (z.B. bei mir).
Der Referer kann aber auf eine Seite verweisen, die Schadcode enthält. Ich kann dir eine x-beliebige Ressource unterjubeln.
$file = fopen($file_url,'rb');
Diese möchtest du dann einlesen und, und wenn du Glück hast, machst du auch nichts falsch. Die Chance besteht immerhin, dass du der Verbreitung von XSS Attacken unter die Arme greifst.
mfg Beat
Wenn ich das richtig verstehe, vertraust du auf den Referer, welchen der Browser angibt. Der Referer kann '' sein (z.B. bei mir).
Der Referer kann aber auf eine Seite verweisen, die Schadcode enthält. Ich kann dir eine x-beliebige Ressource unterjubeln.$file = fopen($file_url,'rb');
Diese möchtest du dann einlesen und, und wenn du Glück hast, machst du auch nichts falsch. Die Chance besteht immerhin, dass du der Verbreitung von XSS Attacken unter die Arme greifst.
mfg Beat
Hi,
also das Problem mit den zugejubelten Resourcen werde ich noch lösen. Das dürfte auch nicht schwierig sein.
Zu den Resourcen:
hmmmmmmm....wie öffne ich eine Resource?
LG