源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-07-18 23:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。 [b]一、使用$argv or $argc参数接收 [/b]
[u]复制代码[/u] 代码如下:
<?php /**  * 使用 $argc $argv 接受参数  */   echo "接收到{$argc}个参数"; print_r($argv);
执行
[u]复制代码[/u] 代码如下:
[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]#
[b]二、使用getopt函数 [/b]
[u]复制代码[/u] 代码如下:
<?php /**  * 使用 getopt函数  */   $param_arr = getopt('a:b:'); print_r($param_arr);
执行
[u]复制代码[/u] 代码如下:
[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 )
[b]三、提示用户输入 [/b]
[u]复制代码[/u] 代码如下:
<?php /**  * 提示用户输入,类似Python  */ fwrite(STDOUT,'请输入您的博客名:'); echo '您输入的信息是:'.fgets(STDIN);
执行
[u]复制代码[/u] 代码如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php
请输入您的博客名:编程素材网 www.1sucai.cn 您输入的信息是:编程素材网 www.1sucai.cn 你也可以这么干,不让用户输入空信息
[u]复制代码[/u] 代码如下:
<?php /**  * 提示用户输入,类似Python  */   $fs = true;   do{ oif($fs){ fwrite(STDOUT,'请输入您的博客名:'); $fs = false; }else{ fwrite(STDOUT,'抱歉,博客名不能为空,请重新输入您的博客名:'); }   $name = trim(fgets(STDIN));   }while(!$name);   echo '您输入的信息是:'.$name."\r\n";
执行
[u]复制代码[/u] 代码如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php 请输入您的博客名: 抱歉,博客名不能为空,请重新输入您的博客名:编程素材网 您输入的信息是:编程素材网
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部