PHP/Webspezifische Funktionen
Aus Mikiwiki
Mit den webspezifischen Funktionen kann mit den besonderen Bedingungen im Internet umgegangen werden.
Die Funktion "parse_url" übernimmt als Argument einen URL und erzeugt ein assoziatives Array mit den Schlüsseln "scheme", "host", "port", "path" und "query". Das folgende Skript "parse_url.php" zeigt die Funktion im Einsatz.
|
<?php ## Name parse_url.php $url = "http://www.test.ch:8080/scripts/script.php?query=value&action=no"; $array = parse_url($url); echo "<p>" . $url . "</p>"; while(list($key, $value) = each($array)) { echo "$key: $value <br />\n"; } ?> |
http://www.test.ch:8080/scripts/script.php?query=value&action=no scheme: http |
Die Funktionen "urlencode" und "urldecode" behandeln alle nicht-alphanumerischen Zeichen in einem URL. Mit "urlencode" werden diese Zeichen durch die Zeichenfolge "%HH" ersetzt, wobei "HH" den Hexadezimalcode des betreffenden Zeichens im ASCII-Code darstellt. "urldecode" wandelt eine so codierte URL wieder zurück.
|
<?php ## Name urlencode.php echo "<table border=1>"; $url = "http://www.test.ch:8080/scripts/script.php?query=value&action=no"; echo "<tr><td>URL</td><td><tt>$url</tt></td></tr>\n"; $encoded = urlencode($url); echo "<tr><td>Kodiert</td><td><tt>$encoded</tt></td></tr>\n"; $decoded = urldecode($encoded); echo "<tr><td>Dekodiert</td><td><tt>$decoded</tt></td></tr>\n"; echo "</table>"; ?> | ||||||
|
Die Funktion "base64_encode" verwandelt die als Parameter übergebenen Werte in 7-Bit-Code. Einige Mail User Agents verwenden 7-Bit-Code, sodass die Übertragung von Binärdaten (8-Bit) nicht möglich ist, weswegen solche Daten in 7-Bit übertragen werden. Moderne MUAs sollten die so versandte E-Mail automatisch dekodieren. Mit PHP selber geschriebene solche MUAs verwenden dazu die Funktion "base64_decode". Bei der Umwandlung von 8-Bit- in 7-Bit-Code vergrössert sich der Code um etwa einen Drittel. Mehr Informationen zur Base64-Kodierung finden sich in der RFC 2045, Sektion 6.8.
