PHP/Webspezifische Funktionen

Aus Mikiwiki
< PHP
Version vom 24. Januar 2009, 20:15 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Mit den webspezifischen Funktionen kann mit den besonderen Bedingungen im Internet umgegangen werden. Die Funktion "parse_url" übernimmt als Argument einen URL und er...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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
host: www.test.ch
port: 8080
path: /scripts/script.php
query: query=value&action=no

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>";
?>
URLhttp://www.test.ch:8080/scripts/script.php?query=value&action=no
Kodierthttp%3A%2F%2Fwww.test.ch%3A8080%2Fscripts%2Fscript.php%3Fquery%3Dvalue%26action%3Dno
Dekodierthttp://www.test.ch:8080/scripts/script.php?query=value&action=no

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.