Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Daten anderer Websites verwenden 20.3 Daten anderer Websites verwenden Eine der schönen Möglichkeiten des Internets besteht darin, dass man vor- handene Dienste und Daten auf den eigenen Webseiten benutzen, modi- fizieren und einbetten kann. Mit PHP ist das ganz einfach, wie das nachfolgende Beispiel zeigt. Stellen Sie sich vor, Ihr Unternehmen möchte seinen Aktienkurs auf seiner Homepage anzeigen. Diese Information steht bestimmt auf irgendeiner Bör- senwebsite zur Verfügung, aber wie kommt man an sie heran? Als Erstes müssen Sie den URL einer Originalquelle für diese Informationen suchen. Wenn Sie diesen URL erst haben, können Sie jedes Mal, wenn jemand Ihre Website besucht, eine Verbindung zu dieser Adresse aufbauen, die Seite abrufen und die benötigten Informationen extrahieren. Als Beispiel sehen Sie ein Script, das einen Börsenkurs von der AMEX-Web- site abruft und umformatiert. Für dieses Beispiel wird der aktuelle Kurs der Aktie von Amazon.com ermittelt. (Auf Ihrer Website werden Sie andere Informationen einbinden wollen, doch ist das Prinzip dasselbe.) Unser Beispielscript braucht einen Webservice, der von einer anderen Web- site bereitgestellt wird, um die dort vermittelten Daten auf unserer Website anzuzeigen. Listing 20.1 zeigt das Script. Listing 20.1: lookup.php (Script zum Abruf eines NASDAQ-Börsenkurses für die Aktie mit dem unter $symbol aufgeführten Tickersymbol) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Die Börsenkurse im NASDAQ</title> </head> <body> <?php //Kurs auswählen $symbol = 'AMZN'; echo '<h1>Börsenkurs für ' . $symbol . '</h1>'; $url = 'http://finance.yahoo.com/d/quotes.csv' . '?s=' . $symbol . '&e=.csv&f=sl1d1t1c1ohgv'; if (!($contents = file_get_contents($url))) { die('Adresse konnte nicht geöffnet werden: ' . $url); } // Relevante Daten extrahieren list($symbol, $quote, $date, $time) = explode(',', $contents); $date = trim($date, '"'); $time = trim($time, '"'); echo '<p>' . $symbol . ' wurde zuletzt verkauft zu einem Kurs von ' . $quote . '</p>'; 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 521