file_get_contents sur fichier distant (stream_context_create)
Bonjour,
Je cherche à récupérer des images stockées sur un de mes serveurs web via file_get_contents (allow_url_fopen est bien configuré à On dans php.ini).
Le souci est que ce second serveur Apache est configuré pour tester le Referer (limite le vol d'images):
Code:
1 2 3 4 5 6 7 8 9 10 11
| NameVirtualHost *
<VirtualHost *>
ServerName xxxx.mondomaine.com
SetEnvIf Referer "^http://[a-zA-Z0-9]+\.mondomaine\.com/" local_referal
<Directory /path/>
Order Deny,Allow
Deny from all
Allow from env=local_referal
</Directory>
</VirtualHost> |
Du coup, je ne récupère que des erreur 403 Forbidden.
D'après la doc de file_get_contents, il est possible de préciser un contexte, c'est la dessus que j'aurais besoin d'un coup main:
Code:
1 2 3 4 5 6 7 8 9
| $contextOptions = array(
'http' => array(
'host' => 'xxxx.mondomaine.com',
'method' => 'GET',
'referer' => 'http://xxxx.mondomaine.com/index.php'
)
);
$context = stream_context_create($contextOptions);
$img = file_get_contents($url, false, $context); |
Comment configurer $contextOptions ???