Maison > Article > développement back-end > Comment transmettre des paramètres à php sous la commande shell
Habituellement, PHP effectue des requêtes HTTP et vous pouvez utiliser GET ou POST pour recevoir des paramètres. Parfois, vous devez exécuter PHP en tant que script sous une commande shell, telle qu'une tâche planifiée. Cela implique la question de savoir comment transmettre les paramètres à php sous la commande shell. Il existe généralement trois façons de transmettre des paramètres.
1. Utilisez le paramètre $argv ou $argc pour recevoir
<?php /** * 使用 $argc $argv 接受参数 */ echo "接收到{$argc}个参数"; print_r($argv);
Exécuter
[root@DELL113 lee]# /usr/local/php/bin/php test.php 接收到1个参数 Array ( [0] => test.php ) [root@DELL113 lee]# /usr/local/php/bin/php test.php a b c d 接收到5个参数Array ( [0] => test.php [1] => a [2] => b [3] => c [4] => d ) [root@DELL113 lee]#
<?php /** * 使用 getopt函数 */ $param_arr = getopt('a:b:'); print_r($param_arr);
Exécution
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 Array ( [a] => 345 ) [root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3 Array ( [a] => 345 [b] => 12q3 ) [root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3 -e 3322ff Array ( [a] => 345 [b] => 12q3 )
3. Invitez l'utilisateur à saisir
<?php /** * 提示用户输入,类似Python */ fwrite(STDOUT,'请输入您的博客名:'); echo '您输入的信息是:'.fgets(STDIN);
Exécuter
[root@DELL113 lee]# /usr/local/php/bin/php test.php
Veuillez saisir le nom de votre blog :
Les informations que vous avez saisies sont :
Vous pouvez également le faire pour empêcher les utilisateurs de saisir des informations vides
<?php /** * 提示用户输入,类似Python */ $fs = true; do{ oif($fs){ fwrite(STDOUT,'请输入您的博客名:'); $fs = false; }else{ fwrite(STDOUT,'抱歉,博客名不能为空,请重新输入您的博客名:'); } $name = trim(fgets(STDIN)); }while(!$name); echo '您输入的信息是:'.$name."\r\n";
Exécuter
[root@DELL113 lee]# /usr/local/php/bin/php test.php 请输入您的博客名: 抱歉,博客名不能为空,请重新输入您的博客名: 您输入的信息是:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!