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.

Siehe auch