FTP et FTPS
<<<
Flux d'entrée/sortie Flux compressés
>>>

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

<< Flux d'entrée/sortie >>
FTP et FTPS Liste des protocoles supportés Flux compressés