Avatar billede enggaard Nybegynder
28. december 2002 - 16:21 Der er 5 kommentarer og
1 løsning

Problemer med fopen/fgets

Jeg har en RogerWilco Basestation kørende på min webserver. Der kan man med http://www.danesofhonor.dk:18009/?opts=-R få en liste over de clienter der er logget på serveren. Men jeg vil gerne have layoutet på den oversigts side lavet om til noget der passer til min hjemmeside.

Med http://www.danesofhonor.dk:18009/?opts=-R-L kan man få samme data fra rogerwilco serveren men uformateret. Altså i klar tekst man så selv kan parse til noget html som ser ud som man gerne vil have det.

Her kommer problemet, jeg har prøvet at åbne en forbindelse til serveren med fopen på følgende måde:


$fd = fopen ("http://www.danesofhonor.dk:18009/?opts=-R-L", "r");
$buffer = fgets($fd, 4096);
while (!feof ($fd)) {
  echo $buffer;
  $buffer = fgets($fd, 4096);
}
fclose ($fd);

og så bare skrive output ud på skærmen bare for at se det. Jeg får følgende fejl:

Warning: fopen("http://www.danesofhonor.dk:18009/?opts=-R-L","r") - Success in /var/www/dohdk/test.php on line 2

Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 5
Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 6
Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 8

Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 6
Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 8
...
Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 6
Warning: Supplied argument is not a valid File-Handle resource in /var/www/dohdk/test.php on line 8

og sådan fortsætter den i en uendelig løkke :/

Hvis jeg ændrer
$fd = fopen ("http://www.danesofhonor.dk:18009/?opts=-R-L", "r");
til f.eks.
$fd = fopen ("http://www.danesofhonor.dk/index.php", "r");
virker det fint. Kan det have noget at gøre med at der ikke er angivet noget specifik fil men blot en url?

Nogen der har ideer til hvordan det kan løses?
Avatar billede tipsen Nybegynder
28. december 2002 - 16:46 #1
Prøv med:

$tmp = urlencode("-R-L");
$fd = fopen("http://www.danesofhonor.dk/index.php?opts=$tmp", "r");
Avatar billede enggaard Nybegynder
28. december 2002 - 23:18 #2
ingen forskel.

Det er heller ikke index siden jeg skal have frem. Jeg henter en side fra selve Rogerwilco programmet på port 18009.
Avatar billede tipsen Nybegynder
28. december 2002 - 23:39 #3
Det var også bare en skrivefejl - der skulle have stået:

$tmp = urlencode("-R-L");
$fd = fopen("http://www.danesofhonor.dk:18009/?opts=$tmp", "r");

eller:

$tmp = urlencode("-R-L");
$fd = fopen("http://www.danesofhonor.dk:18009?opts=$tmp", "r");
Avatar billede enggaard Nybegynder
28. december 2002 - 23:44 #4
Det regnede jeg også med, så det var det jeg testede med. :)

Ingen held dog :(
Avatar billede tipsen Nybegynder
28. december 2002 - 23:46 #5
En kommentar fra: http://dk.php.net/manual/en/function.fopen.php

marcel_levy at onebox dot com
01-Aug-2001 03:34

It appears that fopen() always opens a connection to port 80 when the location string starts with "http://", so these lines are functionally identical:

$fd = fopen('http://www.foo.com:8080/');
$fd = fopen('http://www.foo.com:80/');
$fd = fopen('http://www.foo.com/');

-så det er ikke sikkert det overhovedet er muligt - selvom det er længe siden...
Avatar billede enggaard Nybegynder
10. juli 2007 - 10:12 #6
lukker ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester