http://
https://
http:// -- https:// â AccĂšs aux URLs HTTP(s)
Description
Permet des accĂšs, en lecture seule, Ă des fichiers accessibles via HTTP.
Par dĂ©faut, une requĂȘte HTTP 1.0 GET est utilisĂ©e.
Un en-tĂȘte Host: est envoyĂ© avec la requĂȘte,
pour gérer les hÎtes virtuels basés sur des noms.
Si une version de navigateur a été configurée avec
l'option user_agent dans le
fichier php.ini ou via le contexte de flux, elle sera aussi
incluse dans la requĂȘte.
Le flux permet d'accéder au corps (body)
de la ressource. Les en-tĂȘtes sont stockĂ©s dans la variable
$http_response_header.
Pour connaĂźtre l'URL de la ressource
depuis laquelle le document provient (aprÚs l'exécution
de toutes les redirections), il est nécessaire d'analyser la série
d'en-tĂȘtes retournĂ©s par le flux.
La directive from sera utilisée pour
l'en-tĂȘte From: si elle a Ă©tĂ© dĂ©finie, et non Ă©crasĂ©e
par les Options et paramĂštres de contexte.
Utilisation
- http://example.com
- http://example.com/fichier.php?var1=val1&var2=val2
- http://user:password@example.com
- https://example.com
- https://example.com/fichier.php?var1=val1&var2=val2
- https://user:password@example.com
Options
Résumé de l'enveloppe
| Attribut |
Supporté |
| Restreint par allow_url_fopen |
Oui |
| Autorise la lecture |
Oui |
| Autorise l'écriture |
Non |
| Autorise l'ajout |
Non |
| Autorise la lecture et l'écriture simultanément |
N/A |
| Support de la fonction stat() |
Non |
| Support de la fonction unlink() |
Non |
| Support de la fonction rename() |
Non |
| Support de la fonction mkdir() |
Non |
| Support de la fonction rmdir() |
Non |
Exemples
Exemple #1 Détecte la derniÚre URL aprÚs des redirections
<?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) {
/* Avons-nous été redirigés ? */
if (strtolower(substr($response, 0, 10)) == 'location: ') {
/* mise Ă jour de $url avec le chemin aprĂšs redirection */
$url = substr($response, 10);
}
}
?>
Notes
Note:
HTTPS n'est supporté que si l'extension
openssl est active.
Les connexions HTTP sont en lecture seule ; l'écriture de données
ou la copie de fichier vers une ressource HTTP ne sont pas supportées.
L'envoi de requĂȘtes POST et PUT,
par exemple, peut ĂȘtre effectuĂ© Ă l'aide des
contextes HTTP.