Hello,
Hello,
Möchte eine HTML-Datei auslesen:
$fd = fread(fopen("http://www.xxxx.asp?AdrID=5837", "r"),100000);fread(false) ist nicht so glücklich und da es für den Fehlerfall von fopen() zu vermeiden wäre
solltest Du die Fehlermeldungen (rückgabe von false) auch abfragen und darauf reagieren.Wieso ist fread() unglücklich, was soll ich sonst verwenden?
Ich habe nicht geschrieben, dass fread() unglücklich ist, sondern fread(false). Das ist ein Unterschied. Wenn nämlich fopen() kein gültiges Handle (in Deinem fall eben die 1) zurückgibt, dann liefert es false ( == 0) und fread(0) ist nicht gestattet. Es löst einen schweren Fehler aus.
$fh = fopen($filename,$openmode);
if($fh)
{
$filecont = fread($fh,MAXREADSIZE); # MAXREADSIZE definiert man sich zweckmäßigerweise
fclose($fh);
}
else
{
# Fehlerbehandlung
}
Wenn man nun den Inhalt der Datei, der in $filecont gespeichert ist, ausgibt an den Browser, wir das ja von dem relativen Pfad des Scriptes aus ausgegeben, und nicht von dem relativen Pfad der Originaldatei.
Zur Probe kannst Du ja mal eine kleine HTML-Datei mit I-Frames und Bildern direkt in das Verzeichnis des Scriptes legen. Dann klappt es nämlich.
Für fopen() wird 1 zurück ausgegeben!
Klar, wenn man ein Handle ausgeben lässt, sieht man nicht viel.
Problem, Datei wird nicht komplett ausgelesen, liegt aber nicht am Parameter(hier 100000), da ich den schon einige Male verändert habe.
siehe oben...
Komisch ist, das Script lief schon, jetzt ohne Veränderung nicht mehr.
Nee, das ist nicht komisch sondern blöd ;-) Du hast das Ganze nur nicht aus der Sicht des Browsers betrachtet, und auch nicht aus der ses Servers, sondern aus der eines Script-Betrachterts...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau