PHP Gestion des entrées et des sorties


Exemple

Lorsqu'elles sont exécutées à partir de la CLI, les constantes STDIN , STDOUT et STDERR sont prédéfinies. Ces constantes sont des descripteurs de fichiers et peuvent être considérées comme équivalentes aux résultats de l'exécution des commandes suivantes:

STDIN = fopen("php://stdin", "r");
STDOUT = fopen("php://stdout", "w");
STDERR = fopen("php://stderr", "w");

Les constantes peuvent être utilisées partout où un descripteur de fichier standard serait:

#!/usr/bin/php

while ($line = fgets(STDIN)) {
    $line = strtolower(trim($line));
    switch ($line) {
        case "bad":
            fprintf(STDERR, "%s is bad" . PHP_EOL, $line);
            break;
        case "quit":
            exit;
        default:
            fprintf(STDOUT, "%s is good" . PHP_EOL, $line);
            break;
    }
}

Les adresses de flux intégrées référencées précédemment ( php://stdin , php://stdout et php://stderr ) peuvent être utilisées à la place des noms de fichiers dans la plupart des contextes:

file_put_contents('php://stdout', 'This is stdout content');
file_put_contents('php://stderr', 'This is stderr content');

// Open handle and write multiple times.
$stdout = fopen('php://stdout', 'w');

fwrite($stdout, 'Hello world from stdout' . PHP_EOL);
fwrite($stdout, 'Hello again');

fclose($stdout);

Comme alternative, vous pouvez également utiliser readline () pour la saisie, et vous pouvez également utiliser l' écho ou l' impression ou toute autre fonction d'impression de chaîne pour la sortie.

$name = readline("Please enter your name:");
print "Hello, {$name}.";