[HILFE] Gibt mir nur "Resource id #2" aus

marius1625

Grünschnabel
Also ich möchte von einem Server den Quelltext auslesen und damit dann weiter arbeiten.
Hier im beispiel ist es google:

PHP:
<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" . 
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

$fp = fopen('http://www.google.de/', 'r', false, $context);
echo $fp;
fclose($fp);
?>

Doch als Ausgabe bekomme ich nicht den Quelltext, mit dem ich weiter arbeiten könnte, sondern "Resource id #2"!
Ich weiß nicht weiter...:confused:
Vielleicht könnt ihr helfen,
Marius
 
Das bedeutet das Du ein Objekt geliefert bekommst. Versuch mal
PHP:
print_r($fp);
statt echo
 
Zuletzt bearbeitet:
Sorry..das ist ja eine feste PHP Funktion. Dachte eine eigene. Daher muss ich hier leider passen :(

Laut PHP.net wird ein Streamobjekt geliefert das man nicht einfach so printen kann. Im Beispiel steht
PHP:
fpassthru($fp);

Wäre file_get_contents() nicht eine Alternative?
 
also ich habs mal mit passthru versucht, aber dann kann ich nicht mit dem quelltext weiter arbeiten. er gibt sofort den quelltext aus.
ich hab den code mal mit passthru und dem filter den ich anwenden möchte erweitert

PHP:
<?php
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" . 
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

$fp = fopen('http://www.google.de/', 'r', false, $context);
$qu = fpassthru($fp);

$qu_filter = strstr($qu, '<form');

echo $qu_filter;

fclose($fp);
?>

er gibt jedoch nur die normale google seite aus :(
 
Zuletzt bearbeitet:
Hi,

puffere doch einfach die Ausgabe:

PHP:
$fp = fopen('http://www.google.de/', 'r', false, $context);

ob_start();
fpassthru($fp);
$qu = ob_get_clean();

$qu_filter = strstr($qu, '<form');
echo $qu_filter;

LG
 
Zurück