Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


Flux d'entrée/sortie

Flux d'entrée/sortie

  • /path/to/file.ext

  • relative/path/to/file.ext

  • fileInCwd.ext

  • C:/path/to/winfile.ext

  • C:\path\to\winfile.ext

  • \\smbserver\share\path\to\winfile.ext

  • file:///path/to/file.ext

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 en 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.

    Exemple M-5. 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 |.

    Exemple M-6. 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 |.

    Exemple M-7. 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és avec read= ou write= seront appliqués aux deux chaînes de filtres, en lecture et en écriture.

Le gestionnaire php://memory stocke les données en mémoire. php://temp fonctionne de la même façon, mais utilise des fichiers temporaires pour stocker les données lorsqu'une certaine limite mémoire est atteinte (par défaut, 2 Mo).

Le gestionnaire php://temp prend les paramètres suivants, qui sont les parties du chemin :

  • /maxmemory:<nombre d'octets> (optionnel). Ce paramètre permet de changer la valeur de la limite mémoire (lorsque les données sont déplacées vers un fichier temporaire).

    <?php
    $fiveMBs
    = 5 * 1024 * 1024;
    $fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

    fputs($fp, "Bonjour\n");

    // lecture de ce que nous avons écrit
    rewind($fp);
    echo
    stream_get_contents($fp);
    ?>

Tableau M-6. Résumé des gestionnaires (pour php://filter, voyez le résumé du filtre)

AttributSupporté
Limité par allow_url_fopen.Non
Autorisé en lecture php://stdin, php://input, php://memory et php://temp uniquement.
Autorisé en écriture php://stdout, php://stderr, php://output, php://memory et php://temp uniquement.
Autorisé en ajout php://stdout, php://stderr, php://output, php://memory et php://temp uniquement. (Equivalent à écrire)
Autorisé en lecture et écriture php://memory et php://temp uniquement.
Supporte stat() php://memory et php://temp uniquement.
Supporte unlink()Non
Supporte rename()Non
Supporte mkdir()Non
Supporte rmdir()Non


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx