PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   fopen - Webseite (https://www.php-resource.de/forum/php-developer-forum/39941-fopen-webseite.html)

SRalf 06-06-2004 13:45

fopen - Webseite
 
Hallo,

ich versuche mit folgendem Code eine Webseite in eine Variable zu speichern:

PHP-Code:

$filename "http://www.domain.de/Pfad/Datei.htm";
$handle fopen ($filename"r");
$content fread ($handlefilesize ($filename)); 


Das funktioniert aber nicht. Folgende Fehlermeldung wird ausgegeben:

Warning: filesize(): Stat failed for [entsprechende Datei] (errno=2 - No such file or directory)


Mache ich mit fopen etwas grundsätzliches falsch? Die Date existiert definitiv. Auch wenn ich sie auf meinen Rechner ziehe und über WAMPP anspreche (...localhost ...) funktioniert das nicht.

Kann mir jemand helfen?

Vielen Dank schon einmal.
Ralf

Corpse 06-06-2004 14:33

Versuchs mal mit file_get_contents
Link

wahsaga 06-06-2004 15:48

Re: fopen - Webseite
 
Zitat:

Original geschrieben von SRalf
Warning: filesize(): Stat failed for [entsprechende Datei] (errno=2 - No such file or directory)
RTFM:

int filesize ( string filename)
[...]
Diese Funktion ist nicht für remote Dateien geeignet, die zu prüfende Datei muss über das Dateisystem des Servers verfügbar sein.

SRalf 07-06-2004 08:21

Hallo,

danke für eure Hilfen.

Das mit dem Dateisystem bei filesize hatte ich leider nicht beachtet, mein Fehler. Daher natürlich ein guter Hinweis.

Habe es inzwischen - etwas unsauber - umgangen, indem ich die Größe absolut angebe - was in meinem Fall geht ....

Ralf

kalleplom 11-08-2005 19:54

Re: Re: fopen - Webseite
 
und was wenn ich doch die größe einer entfernten datei wissen möchte?
gibt's da wirklich keine möglichkeit?

penizillin 11-08-2005 19:56

dann musst du sie erst mal runterladen.

kalleplom 11-08-2005 20:02

also, gibt es keine möglichkeit.

wenn ich eine downloadinformation haben möchte, ist's ja sicherlich sinnvoll die nach dem download anzuzeigen..:rocks:

(habe dateilinks auf entfernte dateien)

penizillin 11-08-2005 20:23

ich korrigiere mich.
man kann einen HEAD http request abschicken und die antwort auswerten.
nach "Content-Length: " müsste die größe der datei angezeigt werden.

kalleplom 11-08-2005 20:28

oh, header... :(
hast du da vielleicht mal'n beispiel? :rolleyes:

penizillin 11-08-2005 20:32

:google:

http://www.html-world.de/program/htt...p#head-methode
http://web-sniffer.net/

kalleplom 12-08-2005 13:24

ja, danke,(man) ist immer blöd, wenn man nicht weiss wonach man suchen soll.
:rolleyes:

und wie macht man das mit den headern?
etwa so?
PHP-Code:

$fp fsockopen('localhost',80$errno$error,5)OR
                         die(
$error."(".$errno.")");  
                             
                         
fwrite($fp"HEAD / HTTP/1.0\r\n");    
                         
fwrite($fp"\r\n");    
                         
header('Content-Type: text/plain');   
                         while(!
feof($fp)) {        
                             
$buffer fread($fp1025);        
                            
$buffer str_replace("\r\n"'\r\n'."\n"$buffer);       
                            echo 
$buffer;    }    
                        
fclose($fp); ?> 

aber dann bekomme ich folgende fehlermeldung:

Code:

Warning: fsockopen() [function.fsockopen]: unable to connect to
 localhost:80 (Ein Verbindungsversuch ist fehlgeschlagen, da die
Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat,
oder die hergestellte Verbindung war fehlerhaft, da der
verbundene Host nicht reagiert hat. ) in
D:\SERVER\apachefriends\xampp\htdocs\test\schnabbelbabbel.php on line 3
Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer
bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung
war fehlerhaft, da der verbundene Host nicht reagiert hat. (10060)


penizillin 12-08-2005 13:31

Zitat:

etwa so?
eigentlich schon. nur das Content-Type scheint fehl am platz zu sein.

versuchs mit einem anderen server. die auswertung könnte so ähnlich aussehen, wie bei
http://de3.php.net/manual/en/functio...open.php#29577

kalleplom 12-08-2005 14:02

Code:

Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (123731968)
..kommt nun. wenn ich einen anderen server www.irgendwas.de anspreche
ich schreibe dann in die variable

PHP-Code:

$domain "http://www.irgendwas.de"

:dontknow:

zum verständnis:

- ich öffne ne verbindung mit socket zum server
- der socket wir durch den filepointer wie ne datei behandelt
- in diese schreibe ich die HEAD anfrage mit puts?
- und dann gebe ich die datei mit while aus? oder wie?

:huep:
ich denke ich hab ein defizit...:(

penizillin 12-08-2005 14:05

alles richtig, bis auf, dass ein domainname keine protokolangabe enthalten darf.

kalleplom 12-08-2005 14:05

Zitat:

PHP-Code:

 "http://www.irgendwas.de"


ok, ohne "http://"
dann geht\'s


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG