page contents

PHP命令行脚本接收传入参数的三种方式

通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。


attachments-2020-04-gkYsyBT45e8e7976e357f.jpg

通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。


一、使用$argv or $argc参数接收


<?php
/**
 * 使用 $argc $argv 接受参数
 */
echo "接收到{$argc}个参数";
print_r($argv);


以下是测试的结果

v2-39b6485ced28d98ea8166c88eaaa4b46_720w.jpg


二、使用getopt函数(推荐使用这种方法)


<?php
/**
 * 使用 getopt函数
 */
$param_arr = getopt('a:b:');
print_r($param_arr);

v2-231570992185510b21cee6b86d281e42_720w.jpg


三、提示用户输入


<?php
/**
 * 提示用户输入,类似Python
 */
fwrite(STDOUT,'please input:');
echo 'your input is:'.fgets(STDIN);

用户的输入不能为空

<?php
/**
 * 提示用户输入,类似Python
 */

$fs = true;

do{
    if($fs){
        fwrite(STDOUT,'请输入您的博客名:');
        $fs = false;
    }else{
        fwrite(STDOUT,'抱歉,博客名不能为空,请重新输入您的博客名:');
    }

$name = trim(fgets(STDIN));

}while(!$name);

echo '您输入的信息是:'.$name."\r\n";


attachments-2020-04-5AdGobRI5e8e794e706ad.jpg

  • 发表于 2020-04-09 09:25
  • 阅读 ( 520 )
  • 分类:PHP开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章