http://
https://
http:// -- https:// — Zugriff auf HTTP(s)-URLs
Beschreibung
Ermöglicht den rein lesenden Zugriff auf Dateien/Ressourcen über HTTP.
Standardmäßig wird HTTP 1.0 GET verwendet. Um namensbasierte virtuelle
Hosts verwalten zu können, wird zusammen mit der Anfrage ein
Host:
-Header gesendet. Wenn in der Datei php.ini oder
im Stream-Kontext die Direktive
user_agent konfiguriert wurde, wird
diese ebenfalls in die Anfrage aufgenommen.
Der Stream ermöglicht den Zugriff auf den Inhalt
(body) der Ressource; die Header werden in der Variablen
$http_response_header gespeichert.
Wenn es wichtig ist, die URL der Ressource zu kennen, von der das Dokument
stammt (nachdem alle Weiterleitungen verarbeitet wurden), muss die Reihe
der vom Stream zurückgegebenen Antwort-Header verarbeitet werden.
Ist die Direktive from gesetzt ist und
wird nicht durch die Kontextoptionen und -parameter überschrieben, wird sie für
den From:
-Header verwendet.
Verwendung
- http://example.com
- http://example.com/file.php?var1=val1&var2=val2
- http://user:password@example.com
- https://example.com
- https://example.com/file.php?var1=val1&var2=val2
- https://user:password@example.com
Optionen
Zusammenfassung des Wrappers
Eigenschaft |
wird unterstützt |
Eingeschränkt durch allow_url_fopen |
Ja |
Erlaubt Lesen |
Ja |
Erlaubt Schreiben |
Nein |
Erlaubt Anfügen |
Nein |
Erlaubt gleichzeitiges Lesen und Schreiben |
N/A |
Unterstützt stat() |
Nein |
Unterstützt unlink() |
Nein |
Unterstützt rename() |
Nein |
Unterstützt mkdir() |
Nein |
Unterstützt rmdir() |
Nein |
Beispiele
Beispiel #1 Ermitteln der letzten URL nach Weiterleitungen
<?php
$url = 'http://www.example.com/redirecting_page.php';
$fp = fopen($url, 'r');
$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {
/* Wurden wir weitergeleitet? */
if (strtolower(substr($response, 0, 10)) == 'location: ') {
/* $url mit dem Ziel der Weiterleitung aktualisieren */
$url = substr($response, 10);
}
}
?>
Anmerkungen
Hinweis:
HTTPS wird nur unterstützt, wenn die Erweiterung
openssl aktiviert ist.
HTTP-Verbindungen sind schreibgeschützt; in eine HTTP-Ressource können
weder Daten geschrieben noch Dateien kopiert werden.
POST- und PUT-Anfragen können zum
Beispiel mit Hilfe von HTTP-Kontexten
gesendet werden.