PHP/Webspezifische Funktionen
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.