7.8 Liste des protocoles supportés
7 Annexes
Manuel PHP
. Système de fichiers . Socket . HTTP et HTTPS . FTP et FTPS ->Flux d'entrée/sortie . Flux compressés . Shell sécurisé 2 . Flux Audio . Gestionnaire de flux
|
7.8.5 Flux d'entrée/sortie
PHP 3.0.13 et plus récent,
php://output
et
php://input
depuis PHP 4.3
-
php://stdin
-
php://stdout
-
php://stderr
-
php://output
-
php://input
php://stdin
,
php://stdout
et
php://stderr
donne accès au flux correspondant
d'entrée ou de sortie du processus PHP.
php://output
vous permet d'écrire dans le
buffer de sortie, de la même manière que
print
et
echo
.
php://input
permet de lire des données POST bruts.
C'est moins gourmand en mémoire que
$HTTP_RAW_POST_DATA
et il n'y a pas de directive spéciale dans
php.ini
.
php://input
n'est pas disponible avec
enctype="multipart/form-data"
.
php://stdin
et
php://input
sont lecture seule, tandis que
php://stdout
,
php://stderr
et
php://output
sont en écriture seule.
php://filter
est une sorte de méta-gestionnaire,
prévu pour qui permet l'utilisation de filtre avec les données d'entrée
au moment du démarrage du script. C'est pratique avec des fonctions
compactes comme
readfile
,
file
et
file_get_contents
où il n'y a pas d'opportunité d'appliquer
un filtre aux données lues.
Le gestionnaire de
php://filter
prend les 'paramètres'
suivants dans le 'chemin'.
-
/resource=<flux à filtrer>
(
obligatoire
) Ce paramètre doit être situé à la fin
de votre chaîne
php://filter
et doit pointer sur le
flux à filtrer.
php:// et les filtres |
<?php /* Ceci est l'équivalent de : readfile("http://www.example.com"); puisque aucun filtre n'est spécifié */
readfile("php://filter/resource=http://www.example.com"); ?>
|
-
/read=<liste de filtres de la chaîne de lecture>
(
optionnel
) Ce paramètre prend un ou plusieurs noms de
filtres, séparés par le caractère pipe
|
.
php:// et filtres de lecture |
<?php /* Cette ligne va afficher le contenu de www.example.com tout en majuscule */ readfile("php://filter/read=string.toupper/resource=http://www.example.com");
/* Cela va faire la même chose que ci-dessus, mais en plus, le résultat sera chiffré en ROT13 */ readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com"); ?>
|
-
/write=<liste de filtres de la chaîne d'écriture>
(
optionnel
) Ce paramètre prend un ou plusieurs noms de
filtres, séparés par le caractère pipe
|
.
php:// et filtres d'écritures |
<?php /* Cette ligne va filtrer la chaîne "Bonjour le monde" avec le filtre rot13, puis écrire le résultat dans le fichier exemple.txt du dossier courant */ file_put_contents("php://filter/write=string.rot13/resource=exemple.txt","Bonjour le monde"); ?>
|
-
/<liste de filtres des deux chaînes>
(
optionnel
) Tous les filtres qui ne sont pas
préfixé avec
read=
ou
write=
seront appliqué aux deux chaînes de filtres,
en lecture et en écriture.
Attribut |
Supporté |
Limité par allow_url_fopen. |
Non |
Autorisé en lecture |
php://stdin
et
php://input
uniquement.
|
Autorisé en écriture |
php://stdout
,
php://stderr
et
php://output
uniquement.
|
Autorisé en ajout |
php://stdout
,
php://stderr
et
php://output
uniquement.
(Equivalent à écrire)
|
Autorisé en lecture et écriture |
Non. Ces gestionnaires sont unidirectionnels. |
Supporte
stat
|
Non |
Supporte
unlink
|
Non |
Supporte
rename
|
Non |
Supporte
mkdir
|
Non |
Supporte
rmdir
|
Non |
|