paule22 Geschrieben 27. August 2002 Teilen Geschrieben 27. August 2002 hallo ich habe folgendes script: <? $filename = "http://www.home.de/"; $fd = fopen ($filename, "r"); $contents = fread ($fd, 1000); fclose ($fd); echo "$contents\n<!-- ende --!>"; ?> läuft auch recht gut nur mit der ausnahme das der browser (IE 6) nicht mehr mit den laden der seite aufhört. habs mal mit $contents = fread ($fd, filesize($filename)); probiert aber da kommt erst recht keine ausgabe als ob der filesize net kennt hab php4 und keine fehlermeldung kam. wie kann ich nun die dateigröße rausbekommen ? damit der browser sich nicht totquält beim laden .... Paul Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Impulz Geschrieben 27. August 2002 Teilen Geschrieben 27. August 2002 Hi, filesize() funktioniert nur auf lokalen Dateien. Du kannst entweder ueber $content=implode('',file($url)); gehen oder wenn du fopen benutzen willst indem du sowas benutzt: $fp=fopen($url,"r"); $content=""; while (!feof($fp)) { $content.=fread($fp,255); } echo $content; [/PHP] das sollte eigentlich gehen.. "haengt" der browser dabei, ist irgendwo anders vermutlich der wurm drin, oder der server brauch zu lange um die url zu oeffnen. Michael Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
paule22 Geschrieben 28. August 2002 Autor Teilen Geschrieben 28. August 2002 jo dank dir geht recht jut kann man den puffer der per fread gelesen wird auch dynamisch setzen (also evtl. mehr als 255 Zeichen ?) kann ja sein das eine zeile im html code länger als 255 zeichen ist oder liest der von anfang bis ende nur 255 zeichen und beginnt beim nächsten fread beim 256 zeichen ? ich kenne fread von c programmierung her und da liest diese funktion immer nur eine zeile aus ? Paul Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
paule22 Geschrieben 28. August 2002 Autor Teilen Geschrieben 28. August 2002 jetzt weis ich warum der nicht aufgehört hat zu laden, der hat immer wieder ne GET anweisung ausfühen wollen. nun aber zu dem problem das ich jetzt habe. ich kann zwar jetzt eine datei runterladen und wieder auf den browser ausgeben - wie nen proxy. aber wie mache ich es das ich den string den ich ausgelesen habe auf eine weitere URL kontrolliert bzw. durchsucht. sollte ich dazu alle gedownloadedten dateien in ein verzeichnis speichern und dan nacheinander in den browser ausgeben ? <html><head> <script language="JavaScript"> function winopen() { var URL="http://websearch.myip.org/main.html"; WebSearchMainFrame = window.open("",'x','fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0'); window.focus(); WebSearchMainFrame.location=URL; WebSearchMainFrame.focus(); } </script> <title>WebSearch.MyIP.org</title> </head> <body bgcolor="#c0c0c0" onload="winopen()"> <b><a href="http://www.web.de">www.web.de</a></b> </body> </html> Paul Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
paule22 Geschrieben 28. August 2002 Autor Teilen Geschrieben 28. August 2002 und ein problem hab ich noch, wenn ich $url = "http://www.web.de/"; $fd=fopen($url,"r"); öffnen will mit den deinen code kommt ne fehler meldung Warning: fopen("http://www.web.de/index.html","r") - Invalid argument in g:\htdocs\web\_index.php on line 10 Warning: Supplied argument is not a valid File-Handle resource in g:\htdocs\web\_index.php on line 12 gehn den nicht alle webseiten zu öffnen ? Paul Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Impulz Geschrieben 28. August 2002 Teilen Geschrieben 28. August 2002 Hi, also soweit ich weiss kuemmert sich fread nicht um irgendwelche zeilenwechsel, 255 sollte also problemlos gehen, kann natuerlich auch erhoeht werden. Auf weitere URLs in dem String kannst bspw. anhand eines regulaeren Ausdrucks ueberpruefen. Normalerweise kann fopen schon alle Dateien oeffnen, allerdings kann es sein dass web.de irgendwelche rewrite-sachen laufen hat, mit redirect und so und es daher zu problemen kommt. Probiers mal mit file(); Michael Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.