67 votes

PHP cli obtenant l'entrée de l'utilisateur puis vidant dans la variable possible?

Est-il possible d'obtenir l'entrée d'un utilisateur à l'aide de php cli, puis de vider l'entrée dans une variable, puis le script se poursuit.

Tout comme la fonction c++ cin ?

Est-ce possible si oui comment ? Peut-être pas seulement php mais peut-être avec quelques commandes Linux ?

101voto

anubhava Points 172509

Vous pouvez simplement faire :

 $line = fgets(STDIN);

pour lire une ligne à partir de l'entrée standard en mode php CLI.

87voto

Devraj Points 1667

Jetez un œil à cette page de manuel PHP http://php.net/manual/en/features.commandline.php

en particulier

 <?php
echo "Are you sure you want to do this?  Type 'yes' to continue: ";
$handle = fopen ("php://stdin","r");
$line = fgets($handle);
if(trim($line) != 'yes'){
    echo "ABORTING!\n";
    exit;
}
echo "\n";
echo "Thank you, continuing...\n";
?>

2voto

WolfDen133 Points 1

de même, vous pouvez créer une fonction, comme python.

 $line = input("Please put in a number: ");
if ($line === 20){
    echo true;
} else {
    echo false;
}

function input(string $prompt = null): string
{
    echo $prompt;
    $handle = fopen ("php://stdin","r");
    $output = fgets ($handle);
    return trim ($output);
}

1voto

nonap2k Points 11

$line = fgets(STDIN);

ça marche bien, mais faut faire attention aux sauts de ligne !!

les entrées comme "ce texte" seront codées dans "ce texte\n"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X