phpbar.de logo

Mailinglisten-Archive

AW: [php] aus dynamischen ** statische Seiten genrieren ???

AW: [php] aus dynamischen ** statische Seiten genrieren ???

Wolfgang Hauck php_(at)_phpcenter.de
Mon, 21 Oct 2002 17:45:23 +0200


>Hi,

>gibt es eine Moeglichkeit bzw. ein Programm, das aus dynamischen
>PHP-MySQL Seiten statische macht ??
>Ich suche eine Loesung, die keinen Server etc. (WAMP mit z.B. Fox)
>benoetigt.

Hi Toph,

Ja, gibt es. Ich verwende dazu Snoopy, das ist eine php - Klasse die einen
Webbrowser emuliert (mit Cookies, framesets etc.).

http://sourceforge.net/projects/snoopy/

Damit lassen sich elegant Webseiten runterladen und auswerten.
Anschliessend musst du das Ergebnis nur noch in ein beliebiges Verzeichnis
kopieren.
Ein bisschen php - Code schreiben musst da schon noch, da ja die Links
angepasst werden müssen. Ein typischer Code schaut dann in etwa so aus:

[...]
$snoopy = new Snoopy;
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
// hähähä...
for($i = 0;$i < count($url);$i++) {
  echo "  <tr>\n    <td>";
  echo "Lesen:&nbsp;</td>\n    <td>";
  echo $url[$i]."&nbsp;</td>\n    <td>";
  $snoopy->fetch($upfad.$url[$i]);
  for ($ii = 0;$ii < count($url);$ii ++) {
    $snoopy->results =
ereg_replace($url[$ii],$urlsichern[$ii],$snoopy->results);
  }
  $datei = $spfad.$urlsichern[$i];
  echo "Schreiben:&nbsp;</td>\n    <td>";
  echo $datei."&nbsp;</td>\n    <td>";
  $fp = fopen($datei,"w");
  fwrite($fp,$snoopy->results);
  fclose($fp);
  echo "  </tr>\n</td>\n";
}

#$url array der php - Seiten
#$urlsichern array der html - Seiten

[...]

Rest steht in der Hilfe von Snoopy....

Es gibt sicher auch andere, komerziellere Lösungen, aber ich denke der
Aufwand das in php selbst zu schreiben hält sich in Grenzen. Ausserdem ist
dieser php - Websimulator auch für andere Zwecke ganz nützlich ;-))

MFG Wolfgang


php::bar PHP Wiki   -   Listenarchive